From 9c6e8c24c8dadc3b41c29b325093ed27b3031249 Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Sat, 25 Feb 2023 21:06:06 +0100 Subject: [PATCH] First commit --- .gitignore | 1 + .gitmodules | 42 + BuildAbsl.cmake | 355 +++++ BuildLibSRTP.cmake | 68 + BuildOpenH264.cmake | 130 ++ BuildOpus.cmake | 58 + BuildTelegramVoIP.cmake | 360 +++++ BuildTgCalls.cmake | 10 + BuildUsrSCTP.cmake | 37 + BuildWebRTC.cmake | 2876 +++++++++++++++++++++++++++++++++++++ BuildYuv.cmake | 75 + CMakeLists.txt | 51 + cmake/Join.cmake | 12 + cmake/Prefix.cmake | 13 + cmake/ReadVariables.cmake | 34 + stub/config.h | 1 + third_party/abseil-cpp | 1 + third_party/boringssl | 1 + third_party/crc32c | 1 + third_party/libevent | 1 + third_party/libsrtp | 1 + third_party/libtgvoip | 1 + third_party/libyuv | 1 + third_party/openh264 | 1 + third_party/opus | 1 + third_party/pffft | 1 + third_party/rnnoise | 1 + third_party/tgcalls | 1 + third_party/usrsctp | 1 + third_party/webrtc | 1 + 30 files changed, 4137 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 BuildAbsl.cmake create mode 100644 BuildLibSRTP.cmake create mode 100644 BuildOpenH264.cmake create mode 100644 BuildOpus.cmake create mode 100644 BuildTelegramVoIP.cmake create mode 100644 BuildTgCalls.cmake create mode 100644 BuildUsrSCTP.cmake create mode 100644 BuildWebRTC.cmake create mode 100644 BuildYuv.cmake create mode 100644 CMakeLists.txt create mode 100644 cmake/Join.cmake create mode 100644 cmake/Prefix.cmake create mode 100644 cmake/ReadVariables.cmake create mode 100644 stub/config.h create mode 160000 third_party/abseil-cpp create mode 160000 third_party/boringssl create mode 160000 third_party/crc32c create mode 160000 third_party/libevent create mode 160000 third_party/libsrtp create mode 160000 third_party/libtgvoip create mode 160000 third_party/libyuv create mode 160000 third_party/openh264 create mode 160000 third_party/opus create mode 160000 third_party/pffft create mode 160000 third_party/rnnoise create mode 160000 third_party/tgcalls create mode 160000 third_party/usrsctp create mode 160000 third_party/webrtc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..378eac2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..3754511 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,42 @@ +[submodule "third_party/tgcalls"] + path = third_party/tgcalls + url = https://github.com/TelegramMessenger/tgcalls +[submodule "third_party/libtgvoip"] + path = third_party/libtgvoip + url = https://github.com/TGX-Android/libtgvoip.git +[submodule "third_party/webrtc"] + path = third_party/webrtc + url = https://github.com/TGX-Android/webrtc +[submodule "third_party/opus"] + path = third_party/opus + url = https://github.com/xiph/opus.git +[submodule "third_party/rnnoise"] + path = third_party/rnnoise + url = https://github.com/TGX-Android/rnnoise +[submodule "third_party/pffft"] + path = third_party/pffft + url = https://github.com/TGX-Android/pffft +[submodule "third_party/crc32c"] + path = third_party/crc32c + url = https://github.com/google/crc32c +[submodule "third_party/libevent"] + path = third_party/libevent + url = https://github.com/TGX-Android/libevent +[submodule "third_party/libyuv"] + path = third_party/libyuv + url = https://chromium.googlesource.com/libyuv/libyuv +[submodule "third_party/usrsctp"] + path = third_party/usrsctp + url = https://github.com/sctplab/usrsctp +[submodule "third_party/libsrtp"] + path = third_party/libsrtp + url = https://github.com/cisco/libsrtp +[submodule "third_party/openh264"] + path = third_party/openh264 + url = https://github.com/cisco/openh264 +[submodule "third_party/abseil-cpp"] + path = third_party/abseil-cpp + url = https://github.com/abseil/abseil-cpp +[submodule "third_party/boringssl"] + path = third_party/boringssl + url = https://github.com/google/boringssl diff --git a/BuildAbsl.cmake b/BuildAbsl.cmake new file mode 100644 index 0000000..2d65a0c --- /dev/null +++ b/BuildAbsl.cmake @@ -0,0 +1,355 @@ +# absl + +set(ABSL_DIR "${THIRDPARTY_DIR}/abseil-cpp") + +# Source files list: +# https://github.com/TelegramMessenger/Telegram-iOS/blob/930d1fcc46e39830e6d590986a6a838c3ff49e27/third-party/webrtc/BUILD + +#"${ABSL_DIR}/absl/container/internal/layout.h" +#"${ABSL_DIR}/absl/container/internal/hashtable_debug_hooks.h" +#"${ABSL_DIR}/absl/strings/internal/cord_internal.h" +#"${ABSL_DIR}/absl/strings/internal/cord_rep_btree.h" +#"${ABSL_DIR}/absl/strings/internal/cord_rep_flat.h" +#"${ABSL_DIR}/absl/strings/internal/cord_rep_btree_reader.h" +#"${ABSL_DIR}/absl/strings/internal/cord_rep_btree_navigator.h" +#"${ABSL_DIR}/absl/strings/internal/cord_rep_ring.h" +#"${ABSL_DIR}/absl/strings/internal/cordz_functions.h" +#"${ABSL_DIR}/absl/strings/internal/cordz_info.h" +#"${ABSL_DIR}/absl/strings/internal/cordz_handle.h" +#"${ABSL_DIR}/absl/strings/internal/cordz_statistics.h" +#"${ABSL_DIR}/absl/strings/internal/cordz_update_tracker.h" +#"${ABSL_DIR}/absl/strings/internal/cordz_update_scope.h" +#"${ABSL_DIR}/absl/strings/internal/string_constant.h" +#"${ABSL_DIR}/absl/base/internal/inline_variable.h" +#"${ABSL_DIR}/absl/base/internal/thread_annotations.h" +#"${ABSL_DIR}/absl/base/config.h" +#"${ABSL_DIR}/absl/synchronization/mutex.h" +#"${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_fixed.h" +#"${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_if.h" +#"${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_impl.h" +#"${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_info.h" +#"${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_libc.h" +#"${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_posix.h", +#"${ABSL_DIR}/absl/time/internal/cctz/src/tzfile.h" +#"${ABSL_DIR}/absl/meta/type_traits.h" +#"${ABSL_DIR}/absl/base/options.h" +#"${ABSL_DIR}/absl/base/policy_checks.h" +#"${ABSL_DIR}/absl/strings/string_view.h" +#"${ABSL_DIR}/absl/base/internal/throw_delegate.h" +#"${ABSL_DIR}/absl/base/macros.h" +#"${ABSL_DIR}/absl/base/attributes.h" +#"${ABSL_DIR}/absl/base/optimization.h" +#"${ABSL_DIR}/absl/base/port.h" +#"${ABSL_DIR}/absl/types/optional.h" +#"${ABSL_DIR}/absl/types/bad_variant_access.h" +#"${ABSL_DIR}/absl/types/bad_any_cast.h" +#"${ABSL_DIR}/absl/time/internal/test_util.h" +#"${ABSL_DIR}/absl/time/internal/cctz/include/cctz/time_zone.h" +#"${ABSL_DIR}/absl/synchronization/notification.h" +#"${ABSL_DIR}/absl/time/internal/cctz/include/cctz/civil_time_detail.h" +#"${ABSL_DIR}/absl/base/casts.h" +#"${ABSL_DIR}/absl/time/civil_time.h" +#"${ABSL_DIR}/absl/synchronization/blocking_counter.h" +#"${ABSL_DIR}/absl/synchronization/barrier.h" +#"${ABSL_DIR}/absl/base/internal/low_level_alloc.h" +#"${ABSL_DIR}/absl/strings/str_replace.h" +#"${ABSL_DIR}/absl/strings/substitute.h" +#"${ABSL_DIR}/absl/strings/internal/utf8.h" +#"${ABSL_DIR}/absl/strings/numbers.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/output.h" +#"${ABSL_DIR}/absl/strings/str_cat.h" +#"${ABSL_DIR}/absl/strings/internal/ostringstream.h" +#"${ABSL_DIR}/absl/strings/internal/escaping.h" +#"${ABSL_DIR}/absl/strings/internal/pow10_helper.h" +#"${ABSL_DIR}/absl/strings/internal/memutil.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/arg.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/extension.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/bind.h" +#"${ABSL_DIR}/absl/strings/ascii.h" +#"${ABSL_DIR}/absl/strings/internal/charconv_bigint.h" +#"${ABSL_DIR}/absl/strings/escaping.h" +#"${ABSL_DIR}/absl/status/status.h" +#"${ABSL_DIR}/absl/status/internal/status_internal.h" +#"${ABSL_DIR}/absl/strings/cord.h" +#"${ABSL_DIR}/absl/random/internal/randen_slow.h" +#"${ABSL_DIR}/absl/random/internal/randen_detect.h" +#"${ABSL_DIR}/absl/random/seed_gen_exception.h" +#"${ABSL_DIR}/absl/random/internal/seed_material.h" +#"${ABSL_DIR}/absl/random/gaussian_distribution.h" +#"${ABSL_DIR}/absl/random/internal/chi_square.h" +#"${ABSL_DIR}/absl/random/internal/pool_urbg.h" +#"${ABSL_DIR}/absl/random/internal/distribution_test_util.h" +#"${ABSL_DIR}/absl/flags/usage.h" +#"${ABSL_DIR}/absl/flags/commandlineflag.h" +#"${ABSL_DIR}/absl/flags/internal/sequence_lock.h" +#"${ABSL_DIR}/absl/flags/internal/private_handle_accessor.h" +#"${ABSL_DIR}/absl/flags/reflection.h" +#"${ABSL_DIR}/absl/numeric/int128.h" +#"${ABSL_DIR}/absl/numeric/bits.h" +#"${ABSL_DIR}/absl/numeric/internal/bits.h" +#"${ABSL_DIR}/absl/numeric/internal/representation.h" +#"${ABSL_DIR}/absl/flags/marshalling.h" +#"${ABSL_DIR}/absl/flags/parse.h" +#"${ABSL_DIR}/absl/flags/internal/commandlineflag.h" +#"${ABSL_DIR}/absl/flags/internal/program_name.h" +#"${ABSL_DIR}/absl/flags/internal/usage.h" +#"${ABSL_DIR}/absl/flags/internal/registry.h" +#"${ABSL_DIR}/absl/debugging/internal/vdso_support.h" +#"${ABSL_DIR}/absl/debugging/stacktrace.h" +#"${ABSL_DIR}/absl/flags/flag.h" +#"${ABSL_DIR}/absl/debugging/internal/elf_mem_image.h" +#"${ABSL_DIR}/absl/debugging/internal/examine_stack.h" +#"${ABSL_DIR}/absl/debugging/internal/demangle.h" +#"${ABSL_DIR}/absl/container/internal/test_instance_tracker.h" +#"${ABSL_DIR}/absl/debugging/internal/address_is_readable.h" +#"${ABSL_DIR}/absl/container/internal/raw_hash_set.h" +#"${ABSL_DIR}/absl/debugging/failure_signal_handler.h" +#"${ABSL_DIR}/absl/container/internal/hash_generator_testing.h" +#"${ABSL_DIR}/absl/container/flat_hash_map.h" +#"${ABSL_DIR}/absl/container/internal/hash_function_defaults.h" +#"${ABSL_DIR}/absl/base/internal/spinlock_wait.h" +#"${ABSL_DIR}/absl/base/log_severity.h" +#"${ABSL_DIR}/absl/base/internal/sysinfo.h" +#"${ABSL_DIR}/absl/base/internal/scoped_set_env.h" +#"${ABSL_DIR}/absl/base/internal/spinlock.h" +#"${ABSL_DIR}/absl/base/internal/raw_logging.h" +#"${ABSL_DIR}/absl/base/dynamic_annotations.h" +#"${ABSL_DIR}/absl/strings/match.h" +#"${ABSL_DIR}/absl/algorithm/container.h" +#"${ABSL_DIR}/absl/types/bad_optional_access.h" +#"${ABSL_DIR}/absl/time/internal/cctz/include/cctz/zone_info_source.h" +#"${ABSL_DIR}/absl/time/time.h" +#"${ABSL_DIR}/absl/time/clock.h" +#"${ABSL_DIR}/absl/synchronization/internal/futex.h" +#"${ABSL_DIR}/absl/synchronization/internal/waiter.h" +#"${ABSL_DIR}/absl/strings/str_split.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/float_conversion.h" +#"${ABSL_DIR}/absl/strings/internal/charconv_parse.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/parser.h" +#"${ABSL_DIR}/absl/status/status_payload_printer.h" +#"${ABSL_DIR}/absl/random/seed_sequences.h" +#"${ABSL_DIR}/absl/strings/charconv.h" +#"${ABSL_DIR}/absl/random/internal/randen.h" +#"${ABSL_DIR}/absl/random/discrete_distribution.h" +#"${ABSL_DIR}/absl/random/internal/randen_hwaes.h" +#"${ABSL_DIR}/absl/hash/internal/hash.h" +#"${ABSL_DIR}/absl/random/internal/nanobenchmark.h" +#"${ABSL_DIR}/absl/hash/internal/city.h" +#"${ABSL_DIR}/absl/hash/internal/low_level_hash.h" +#"${ABSL_DIR}/absl/debugging/symbolize.h" +#"${ABSL_DIR}/absl/debugging/internal/stack_consumption.h" +#"${ABSL_DIR}/absl/flags/internal/flag.h" +#"${ABSL_DIR}/absl/container/internal/hashtablez_sampler.h" +#"${ABSL_DIR}/absl/container/internal/raw_hash_map.h" +#"${ABSL_DIR}/absl/profiling/internal/sample_recorder.h" +#"${ABSL_DIR}/absl/base/internal/unscaledcycleclock.h" +#"${ABSL_DIR}/absl/base/internal/thread_identity.h" +#"${ABSL_DIR}/absl/base/internal/cycleclock.h" +#"${ABSL_DIR}/absl/base/internal/strerror.h" +#"${ABSL_DIR}/absl/flags/usage_config.h" +#"${ABSL_DIR}/absl/utility/utility.h" +#"${ABSL_DIR}/absl/algorithm/algorithm.h" +#"${ABSL_DIR}/absl/base/call_once.h" +#"${ABSL_DIR}/absl/base/const_init.h" +#"${ABSL_DIR}/absl/base/internal/atomic_hook.h" +#"${ABSL_DIR}/absl/base/internal/endian.h" +#"${ABSL_DIR}/absl/base/internal/errno_saver.h" +#"${ABSL_DIR}/absl/base/internal/fast_type_id.h" +#"${ABSL_DIR}/absl/base/internal/identity.h" +#"${ABSL_DIR}/absl/base/internal/low_level_scheduling.h" +#"${ABSL_DIR}/absl/base/internal/per_thread_tls.h" +#"${ABSL_DIR}/absl/base/thread_annotations.h" +#"${ABSL_DIR}/absl/container/inlined_vector.h" +#"${ABSL_DIR}/absl/container/internal/hash_policy_testing.h" +#"${ABSL_DIR}/absl/debugging/internal/stacktrace_config.h" +#"${ABSL_DIR}/absl/debugging/internal/symbolize.h" +#"${ABSL_DIR}/absl/flags/declare.h" +#"${ABSL_DIR}/absl/flags/internal/parse.h" +#"${ABSL_DIR}/absl/memory/memory.h" +#"${ABSL_DIR}/absl/random/bernoulli_distribution.h" +#"${ABSL_DIR}/absl/random/internal/fast_uniform_bits.h" +#"${ABSL_DIR}/absl/random/internal/platform.h" +#"${ABSL_DIR}/absl/random/internal/salted_seed_seq.h" +#"${ABSL_DIR}/absl/random/internal/traits.h" +#"${ABSL_DIR}/absl/strings/internal/str_format/checker.h" +#"${ABSL_DIR}/absl/strings/str_join.h" +#"${ABSL_DIR}/absl/synchronization/internal/graphcycles.h" +#"${ABSL_DIR}/absl/time/internal/cctz/include/cctz/civil_time.h" +#"${ABSL_DIR}/absl/types/compare.h" +#"${ABSL_DIR}/absl/types/span.h" +#"${ABSL_DIR}/absl/base/internal/invoke.h" +#"${ABSL_DIR}/absl/base/internal/hide_ptr.h" +#"${ABSL_DIR}/absl/base/internal/scheduling_mode.h" +#"${ABSL_DIR}/absl/base/internal/tsan_mutex_interface.h" +#"${ABSL_DIR}/absl/base/internal/unaligned_access.h" +#"${ABSL_DIR}/absl/container/internal/inlined_vector.h" +#"${ABSL_DIR}/absl/flags/config.h" +#"${ABSL_DIR}/absl/flags/internal/path_util.h" +#"${ABSL_DIR}/absl/hash/hash.h" +#"${ABSL_DIR}/absl/random/internal/generate_real.h" +#"${ABSL_DIR}/absl/random/internal/iostream_state_saver.h" +#"${ABSL_DIR}/absl/random/internal/randen_engine.h" +#"${ABSL_DIR}/absl/random/internal/randen_traits.h" +#"${ABSL_DIR}/absl/strings/internal/resize_uninitialized.h" +#"${ABSL_DIR}/absl/strings/internal/str_join_internal.h" +#"${ABSL_DIR}/absl/strings/internal/str_split_internal.h" +#"${ABSL_DIR}/absl/strings/str_format.h" +#"${ABSL_DIR}/absl/synchronization/internal/kernel_timeout.h" +#"${ABSL_DIR}/absl/synchronization/internal/per_thread_sem.h" +#"${ABSL_DIR}/absl/types/internal/optional.h" +#"${ABSL_DIR}/absl/types/internal/span.h" +#"${ABSL_DIR}/absl/types/variant.h" +#"${ABSL_DIR}/absl/types/internal/variant.h" +#"${ABSL_DIR}/absl/base/internal/direct_mmap.h" +#"${ABSL_DIR}/absl/base/internal/dynamic_annotations.h" +#"${ABSL_DIR}/absl/container/fixed_array.h" +#"${ABSL_DIR}/absl/container/internal/common.h" +#"${ABSL_DIR}/absl/container/internal/compressed_tuple.h" +#"${ABSL_DIR}/absl/random/internal/fastmath.h" +#"${ABSL_DIR}/absl/random/uniform_int_distribution.h" +#"${ABSL_DIR}/absl/strings/internal/char_map.h" +#"${ABSL_DIR}/absl/strings/strip.h" +#"${ABSL_DIR}/absl/synchronization/internal/create_thread_identity.h" +#"${ABSL_DIR}/absl/container/internal/container_memory.h" +#"${ABSL_DIR}/absl/functional/function_ref.h" +#"${ABSL_DIR}/absl/random/internal/wide_multiply.h" +#"${ABSL_DIR}/absl/container/internal/hash_policy_traits.h" +#"${ABSL_DIR}/absl/functional/internal/function_ref.h" +#"${ABSL_DIR}/absl/functional/bind_front.h" +#"${ABSL_DIR}/absl/functional/internal/front_binder.h" +#"${ABSL_DIR}/absl/base/internal/cycleclock_config.h" +#"${ABSL_DIR}/absl/base/internal/prefetch.h" +#"${ABSL_DIR}/absl/base/internal/unscaledcycleclock_config.h" +#"${ABSL_DIR}/absl/functional/any_invocable.h" +#"${ABSL_DIR}/absl/profiling/internal/exponential_biased.h" +#"${ABSL_DIR}/absl/strings/cord_analysis.h" +#"${ABSL_DIR}/absl/strings/internal/has_absl_stringify.h" +#"${ABSL_DIR}/absl/container/internal/common_policy_traits.h" +#"${ABSL_DIR}/absl/functional/internal/any_invocable.h" +#"${ABSL_DIR}/absl/strings/cord_buffer.h" +#"${ABSL_DIR}/absl/strings/internal/stringify_sink.h" +#"${ABSL_DIR}/absl/cleanup/cleanup.h" +#"${ABSL_DIR}/absl/strings/internal/cord_data_edge.h" +#"${ABSL_DIR}/absl/cleanup/internal/cleanup.h" +#"${ABSL_DIR}/absl/strings/internal/cord_rep_crc.h" + +#"${ABSL_DIR}/absl/numeric/int128_have_intrinsic.inc" +#"${ABSL_DIR}/absl/debugging/internal/stacktrace_unimplemented-inl.inc" +#"${ABSL_DIR}/absl/debugging/internal/stacktrace_generic-inl.inc" +#"${ABSL_DIR}/absl/debugging/symbolize_unimplemented.inc" +#"${ABSL_DIR}/absl/debugging/symbolize_darwin.inc" +#"${ABSL_DIR}/absl/base/internal/spinlock_posix.inc" +#"${ABSL_DIR}/absl/time/internal/get_current_time_chrono.inc" + +add_library(absl STATIC + "${ABSL_DIR}/absl/base/internal/cycleclock.cc" + "${ABSL_DIR}/absl/base/internal/low_level_alloc.cc" + "${ABSL_DIR}/absl/base/internal/raw_logging.cc" + "${ABSL_DIR}/absl/base/internal/scoped_set_env.cc" + "${ABSL_DIR}/absl/base/internal/spinlock.cc" + "${ABSL_DIR}/absl/base/internal/spinlock_wait.cc" + "${ABSL_DIR}/absl/base/internal/strerror.cc" + "${ABSL_DIR}/absl/base/internal/sysinfo.cc" + "${ABSL_DIR}/absl/base/internal/thread_identity.cc" + "${ABSL_DIR}/absl/base/internal/throw_delegate.cc" + "${ABSL_DIR}/absl/base/internal/unscaledcycleclock.cc" + "${ABSL_DIR}/absl/base/log_severity.cc" + "${ABSL_DIR}/absl/container/internal/hash_generator_testing.cc" + "${ABSL_DIR}/absl/container/internal/hashtablez_sampler.cc" + "${ABSL_DIR}/absl/container/internal/hashtablez_sampler_force_weak_definition.cc" + "${ABSL_DIR}/absl/container/internal/raw_hash_set.cc" + "${ABSL_DIR}/absl/container/internal/test_instance_tracker.cc" + "${ABSL_DIR}/absl/debugging/failure_signal_handler.cc" + "${ABSL_DIR}/absl/debugging/internal/address_is_readable.cc" + "${ABSL_DIR}/absl/debugging/internal/demangle.cc" + "${ABSL_DIR}/absl/debugging/internal/elf_mem_image.cc" + "${ABSL_DIR}/absl/debugging/internal/examine_stack.cc" + "${ABSL_DIR}/absl/debugging/internal/stack_consumption.cc" + "${ABSL_DIR}/absl/debugging/internal/vdso_support.cc" + "${ABSL_DIR}/absl/debugging/stacktrace.cc" + "${ABSL_DIR}/absl/debugging/symbolize.cc" + "${ABSL_DIR}/absl/flags/flag.cc" + "${ABSL_DIR}/absl/flags/flag_test_defs.cc" + "${ABSL_DIR}/absl/flags/internal/commandlineflag.cc" + "${ABSL_DIR}/absl/flags/internal/flag.cc" + "${ABSL_DIR}/absl/flags/internal/program_name.cc" + "${ABSL_DIR}/absl/flags/internal/usage.cc" + "${ABSL_DIR}/absl/flags/marshalling.cc" + "${ABSL_DIR}/absl/flags/parse.cc" + "${ABSL_DIR}/absl/flags/usage.cc" + "${ABSL_DIR}/absl/flags/usage_config.cc" + "${ABSL_DIR}/absl/hash/internal/city.cc" + "${ABSL_DIR}/absl/hash/internal/hash.cc" + "${ABSL_DIR}/absl/numeric/int128.cc" + "${ABSL_DIR}/absl/random/discrete_distribution.cc" + "${ABSL_DIR}/absl/random/gaussian_distribution.cc" + "${ABSL_DIR}/absl/random/internal/chi_square.cc" + "${ABSL_DIR}/absl/random/internal/distribution_test_util.cc" + "${ABSL_DIR}/absl/random/internal/nanobenchmark.cc" + "${ABSL_DIR}/absl/random/internal/pool_urbg.cc" + "${ABSL_DIR}/absl/random/internal/randen.cc" + "${ABSL_DIR}/absl/random/internal/randen_detect.cc" + "${ABSL_DIR}/absl/random/internal/randen_hwaes.cc" + "${ABSL_DIR}/absl/random/internal/randen_slow.cc" + "${ABSL_DIR}/absl/random/internal/seed_material.cc" + "${ABSL_DIR}/absl/random/seed_gen_exception.cc" + "${ABSL_DIR}/absl/random/seed_sequences.cc" + "${ABSL_DIR}/absl/status/status.cc" + "${ABSL_DIR}/absl/status/status_payload_printer.cc" + "${ABSL_DIR}/absl/strings/ascii.cc" + "${ABSL_DIR}/absl/strings/charconv.cc" + "${ABSL_DIR}/absl/strings/cord.cc" + "${ABSL_DIR}/absl/strings/escaping.cc" + "${ABSL_DIR}/absl/strings/internal/charconv_bigint.cc" + "${ABSL_DIR}/absl/strings/internal/charconv_parse.cc" + "${ABSL_DIR}/absl/strings/internal/escaping.cc" + "${ABSL_DIR}/absl/strings/internal/memutil.cc" + "${ABSL_DIR}/absl/strings/internal/ostringstream.cc" + "${ABSL_DIR}/absl/strings/internal/pow10_helper.cc" + "${ABSL_DIR}/absl/strings/internal/str_format/arg.cc" + "${ABSL_DIR}/absl/strings/internal/str_format/bind.cc" + "${ABSL_DIR}/absl/strings/internal/str_format/extension.cc" + "${ABSL_DIR}/absl/strings/internal/str_format/float_conversion.cc" + "${ABSL_DIR}/absl/strings/internal/str_format/output.cc" + "${ABSL_DIR}/absl/strings/internal/str_format/parser.cc" + "${ABSL_DIR}/absl/strings/internal/utf8.cc" + "${ABSL_DIR}/absl/strings/match.cc" + "${ABSL_DIR}/absl/strings/numbers.cc" + "${ABSL_DIR}/absl/strings/str_cat.cc" + "${ABSL_DIR}/absl/strings/str_replace.cc" + "${ABSL_DIR}/absl/strings/str_split.cc" + "${ABSL_DIR}/absl/strings/string_view.cc" + "${ABSL_DIR}/absl/strings/substitute.cc" + "${ABSL_DIR}/absl/synchronization/barrier.cc" + "${ABSL_DIR}/absl/synchronization/blocking_counter.cc" + "${ABSL_DIR}/absl/synchronization/internal/create_thread_identity.cc" + "${ABSL_DIR}/absl/synchronization/internal/graphcycles.cc" + "${ABSL_DIR}/absl/synchronization/internal/per_thread_sem.cc" + "${ABSL_DIR}/absl/synchronization/internal/waiter.cc" + "${ABSL_DIR}/absl/synchronization/notification.cc" + "${ABSL_DIR}/absl/time/civil_time.cc" + "${ABSL_DIR}/absl/time/clock.cc" + "${ABSL_DIR}/absl/time/duration.cc" + "${ABSL_DIR}/absl/time/format.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/civil_time_detail.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_fixed.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_format.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_if.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_impl.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_info.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_libc.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_lookup.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/time_zone_posix.cc" + "${ABSL_DIR}/absl/time/internal/cctz/src/zone_info_source.cc" + "${ABSL_DIR}/absl/time/internal/test_util.cc" + "${ABSL_DIR}/absl/time/time.cc" + "${ABSL_DIR}/absl/types/bad_any_cast.cc" + "${ABSL_DIR}/absl/types/bad_optional_access.cc" + "${ABSL_DIR}/absl/types/bad_variant_access.cc" + ) +target_compile_definitions(absl PRIVATE + ABSL_ALLOCATOR_NOTHROW=1 +) +target_include_directories(absl PUBLIC + "${ABSL_DIR}" +) \ No newline at end of file diff --git a/BuildLibSRTP.cmake b/BuildLibSRTP.cmake new file mode 100644 index 0000000..80ad4e8 --- /dev/null +++ b/BuildLibSRTP.cmake @@ -0,0 +1,68 @@ +# srtp + +set(SRTP_DIR "${THIRDPARTY_DIR}/libsrtp") + +# libsrtp version matches the one used in Chromium: +# https://chromium.googlesource.com/chromium/deps/libsrtp/+/5b7c744/LIBSRTP_VERSION +# TODO: extract commit hash dynamically instead of hardcoding current $(git rev-parse HEAD) +set(SRTP_COMMIT_HASH "860492290f7d1f25e2bd45da6471bfd4cd4d7add") + +add_library(srtp STATIC + "${SRTP_DIR}/crypto/cipher/aes_gcm_ossl.c" + "${SRTP_DIR}/crypto/cipher/aes_icm_ossl.c" + "${SRTP_DIR}/crypto/cipher/cipher.c" + "${SRTP_DIR}/crypto/cipher/null_cipher.c" + "${SRTP_DIR}/crypto/hash/auth.c" + "${SRTP_DIR}/crypto/hash/hmac_ossl.c" + "${SRTP_DIR}/crypto/hash/null_auth.c" + "${SRTP_DIR}/crypto/kernel/alloc.c" + "${SRTP_DIR}/crypto/kernel/crypto_kernel.c" + "${SRTP_DIR}/crypto/kernel/err.c" + "${SRTP_DIR}/crypto/kernel/key.c" + "${SRTP_DIR}/crypto/math/datatypes.c" + "${SRTP_DIR}/crypto/math/stat.c" + "${SRTP_DIR}/crypto/replay/rdb.c" + "${SRTP_DIR}/crypto/replay/rdbx.c" + "${SRTP_DIR}/crypto/replay/ut_sim.c" + "${SRTP_DIR}/srtp/ekt.c" + "${SRTP_DIR}/srtp/srtp.c" +) +# config.h options match the ones used in Chromium: +# https://chromium.googlesource.com/chromium/deps/libsrtp/+/5b7c744/BUILD.gn +target_compile_definitions(srtp PRIVATE + PACKAGE_VERSION="${SRTP_COMMIT_HASH}" + PACKAGE_STRING="${SRTP_COMMIT_HASH}" + + HAVE_CONFIG_H + OPENSSL + GCM + HAVE_STDLIB_H + HAVE_STRING_H + HAVE_STDINT_H + HAVE_INTTYPES_H + HAVE_INT16_T + HAVE_INT32_T + HAVE_INT8_T + HAVE_UINT16_T + HAVE_UINT32_T + HAVE_UINT64_T + HAVE_UINT8_T + HAVE_ARPA_INET_H + HAVE_SYS_TYPES_H + HAVE_UNISTD_H + + HAVE_ARPA_INET_H + HAVE_NETINET_IN_H + HAVE_SYS_TYPES_H + HAVE_UNISTD_H + ) +target_include_directories(srtp PRIVATE + "${STUB_DIR}" +) +target_link_libraries(srtp PUBLIC + usrsctp ssl +) +target_include_directories(srtp PUBLIC + "${SRTP_DIR}/include" + "${SRTP_DIR}/crypto/include" +) \ No newline at end of file diff --git a/BuildOpenH264.cmake b/BuildOpenH264.cmake new file mode 100644 index 0000000..6a0ecd2 --- /dev/null +++ b/BuildOpenH264.cmake @@ -0,0 +1,130 @@ +# OpenH264 + +set(OPENH264_DIR "${THIRDPARTY_DIR}/openh264") + +add_library(openh264 STATIC + "${OPENH264_DIR}/codec/encoder/core/src/au_set.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/deblocking.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/decode_mb_aux.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/encode_mb_aux.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/encoder_data_tables.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/encoder_ext.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/encoder.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/get_intra_predictor.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/md.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/mv_pred.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/nal_encap.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/paraset_strategy.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/picture_handle.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/ratectl.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/ref_list_mgr_svc.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/sample.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/set_mb_syn_cabac.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/set_mb_syn_cavlc.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/slice_multi_threading.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_base_layer_md.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_enc_slice_segment.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_encode_mb.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_encode_slice.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_mode_decision.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_motion_estimate.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_set_mb_syn_cabac.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/svc_set_mb_syn_cavlc.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/wels_preprocess.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/wels_task_base.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/wels_task_encoder.cpp" + "${OPENH264_DIR}/codec/encoder/core/src/wels_task_management.cpp" + "${OPENH264_DIR}/codec/encoder/plus/src/welsEncoderExt.cpp" + "${OPENH264_DIR}/codec/common/src/welsCodecTrace.cpp" + "${OPENH264_DIR}/codec/common/src/common_tables.cpp" + "${OPENH264_DIR}/codec/common/src/copy_mb.cpp" + "${OPENH264_DIR}/codec/common/src/cpu.cpp" + "${OPENH264_DIR}/codec/common/src/crt_util_safe_x.cpp" + "${OPENH264_DIR}/codec/common/src/deblocking_common.cpp" + "${OPENH264_DIR}/codec/common/src/expand_pic.cpp" + "${OPENH264_DIR}/codec/common/src/intra_pred_common.cpp" + "${OPENH264_DIR}/codec/common/src/mc.cpp" + "${OPENH264_DIR}/codec/common/src/memory_align.cpp" + "${OPENH264_DIR}/codec/common/src/sad_common.cpp" + "${OPENH264_DIR}/codec/common/src/WelsTaskThread.cpp" + "${OPENH264_DIR}/codec/common/src/WelsThread.cpp" + "${OPENH264_DIR}/codec/common/src/WelsThreadLib.cpp" + "${OPENH264_DIR}/codec/common/src/WelsThreadPool.cpp" + "${OPENH264_DIR}/codec/common/src/utils.cpp" + "${OPENH264_DIR}/codec/processing/src/adaptivequantization/AdaptiveQuantization.cpp" + "${OPENH264_DIR}/codec/processing/src/backgrounddetection/BackgroundDetection.cpp" + "${OPENH264_DIR}/codec/processing/src/common/memory.cpp" + "${OPENH264_DIR}/codec/processing/src/common/WelsFrameWork.cpp" + "${OPENH264_DIR}/codec/processing/src/common/WelsFrameWorkEx.cpp" + "${OPENH264_DIR}/codec/processing/src/complexityanalysis/ComplexityAnalysis.cpp" + "${OPENH264_DIR}/codec/processing/src/denoise/denoise.cpp" + "${OPENH264_DIR}/codec/processing/src/denoise/denoise_filter.cpp" + "${OPENH264_DIR}/codec/processing/src/downsample/downsample.cpp" + "${OPENH264_DIR}/codec/processing/src/downsample/downsamplefuncs.cpp" + "${OPENH264_DIR}/codec/processing/src/imagerotate/imagerotate.cpp" + "${OPENH264_DIR}/codec/processing/src/imagerotate/imagerotatefuncs.cpp" + "${OPENH264_DIR}/codec/processing/src/scenechangedetection/SceneChangeDetection.cpp" + "${OPENH264_DIR}/codec/processing/src/scrolldetection/ScrollDetection.cpp" + "${OPENH264_DIR}/codec/processing/src/scrolldetection/ScrollDetectionFuncs.cpp" + "${OPENH264_DIR}/codec/processing/src/vaacalc/vaacalcfuncs.cpp" + "${OPENH264_DIR}/codec/processing/src/vaacalc/vaacalculation.cpp" +) +target_include_directories(openh264 PRIVATE + "${OPENH264_DIR}/codec/encoder/core/inc" + "${OPENH264_DIR}/codec/encoder/plus/inc" + "${OPENH264_DIR}/codec/decoder/plus/inc" + "${OPENH264_DIR}/codec/common/inc" + "${OPENH264_DIR}/codec/api/svc" + "${OPENH264_DIR}/codec/processing/interface" + "${OPENH264_DIR}/codec/processing/src/common" +) + +if (${ARCHITECTURE} STREQUAL "armv7l") + target_sources(openh264 PRIVATE + "${OPENH264_DIR}/codec/encoder/core/arm/intra_pred_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm/intra_pred_sad_3_opt_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm/memory_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm/pixel_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm/reconstruct_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm/svc_motion_estimation.S" + "${OPENH264_DIR}/codec/common/arm/copy_mb_neon.S" + "${OPENH264_DIR}/codec/common/arm/deblocking_neon.S" + "${OPENH264_DIR}/codec/common/arm/expand_picture_neon.S" + "${OPENH264_DIR}/codec/common/arm/intra_pred_common_neon.S" + "${OPENH264_DIR}/codec/common/arm/mc_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm/adaptive_quantization.S" + "${OPENH264_DIR}/codec/processing/src/arm/down_sample_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm/pixel_sad_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm/vaa_calc_neon.S" + ) + target_include_directories(openh264 PRIVATE + "${OPENH264_DIR}/codec/common/arm" + ) + target_compile_definitions(openh264 PRIVATE + HAVE_NEON=1 + ) +elseif(${ARCHITECTURE} STREQUAL "aarch64") + target_sources(openh264 PRIVATE + "${OPENH264_DIR}/codec/encoder/core/arm64/intra_pred_aarch64_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm64/intra_pred_sad_3_opt_aarch64_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm64/memory_aarch64_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm64/pixel_aarch64_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm64/reconstruct_aarch64_neon.S" + "${OPENH264_DIR}/codec/encoder/core/arm64/svc_motion_estimation_aarch64_neon.S" + "${OPENH264_DIR}/codec/common/arm64/copy_mb_aarch64_neon.S" + "${OPENH264_DIR}/codec/common/arm64/deblocking_aarch64_neon.S" + "${OPENH264_DIR}/codec/common/arm64/expand_picture_aarch64_neon.S" + "${OPENH264_DIR}/codec/common/arm64/intra_pred_common_aarch64_neon.S" + "${OPENH264_DIR}/codec/common/arm64/mc_aarch64_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm64/adaptive_quantization_aarch64_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm64/down_sample_aarch64_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm64/pixel_sad_aarch64_neon.S" + "${OPENH264_DIR}/codec/processing/src/arm64/vaa_calc_aarch64_neon.S" + ) + target_include_directories(openh264 PRIVATE + "${OPENH264_DIR}/codec/common/arm64" + ) + target_compile_definitions(openh264 PUBLIC + HAVE_NEON_AARCH64=1 + ) +endif() \ No newline at end of file diff --git a/BuildOpus.cmake b/BuildOpus.cmake new file mode 100644 index 0000000..cd76486 --- /dev/null +++ b/BuildOpus.cmake @@ -0,0 +1,58 @@ +# opus + +set(OPUS_DIR "${THIRDPARTY_DIR}/opus") + +ReadVariables("${OPUS_DIR}/celt_sources.mk") +ReadVariables("${OPUS_DIR}/opus_sources.mk") +ReadVariables("${OPUS_DIR}/silk_sources.mk") + +Prefix(CELT_SOURCES "${OPUS_DIR}/") +Prefix(OPUS_SOURCES "${OPUS_DIR}/") +Prefix(OPUS_SOURCES_FLOAT "${OPUS_DIR}/") +Prefix(SILK_SOURCES "${OPUS_DIR}/") +Prefix(SILK_SOURCES_FIXED "${OPUS_DIR}/") +Prefix(CELT_SOURCES_ARM "${OPUS_DIR}/") +Prefix(CELT_SOURCES_ARM_ASM "${OPUS_DIR}/") + +add_library(opus STATIC + ${CELT_SOURCES} + ${OPUS_SOURCES} + ${OPUS_SOURCES_FLOAT} + ${SILK_SOURCES} + ${SILK_SOURCES_FIXED} +) +target_compile_definitions(opus PRIVATE + OPUS_BUILD + FIXED_POINT + USE_ALLOCA + HAVE_LRINT + HAVE_LRINTF +) +if (${ARCHITECTURE} STREQUAL "armv7l") + Transform(CELT_SOURCES_ARM_ASM "\\.s$" "_gnu.s") + target_sources(opus PRIVATE + ${CELT_SOURCES_ARM} + "${OPUS_DIR}/celt/arm/armopts_gnu.s" + ${CELT_SOURCES_ARM_ASM} + ) + target_compile_definitions(opus PRIVATE + OPUS_ARM_ASM + OPUS_ARM_INLINE_ASM + OPUS_ARM_INLINE_EDSP + OPUS_ARM_INLINE_MEDIA + OPUS_ARM_INLINE_NEON + OPUS_ARM_MAY_HAVE_NEON + OPUS_ARM_MAY_HAVE_MEDIA + OPUS_ARM_MAY_HAVE_EDSP + ) +endif() +target_include_directories(opus PUBLIC + "${OPUS_DIR}/include" +) +target_include_directories(opus PRIVATE + "${OPUS_DIR}/src" + "${OPUS_DIR}/silk" + "${OPUS_DIR}/celt" + "${OPUS_DIR}/silk/fixed" + "${OPUS_DIR}" +) \ No newline at end of file diff --git a/BuildTelegramVoIP.cmake b/BuildTelegramVoIP.cmake new file mode 100644 index 0000000..d53bbb9 --- /dev/null +++ b/BuildTelegramVoIP.cmake @@ -0,0 +1,360 @@ +# libtgvoip + +set(TGVOIP_DIR "${THIRDPARTY_DIR}/libtgvoip") + +# TODO move to "${THIRDPARTY_DIR}/libtgvoip/CMakeLists.txt" +add_library(tgvoip STATIC + "${TGVOIP_DIR}/logging.cpp" + "${TGVOIP_DIR}/VoIPController.cpp" + "${TGVOIP_DIR}/VoIPGroupController.cpp" + "${TGVOIP_DIR}/Buffers.cpp" + "${TGVOIP_DIR}/BlockingQueue.cpp" + "${TGVOIP_DIR}/audio/AudioInput.cpp" + "${TGVOIP_DIR}/MediaStreamItf.cpp" + "${TGVOIP_DIR}/audio/AudioOutput.cpp" + "${TGVOIP_DIR}/OpusEncoder.cpp" + "${TGVOIP_DIR}/JitterBuffer.cpp" + "${TGVOIP_DIR}/OpusDecoder.cpp" + "${TGVOIP_DIR}/EchoCanceller.cpp" + "${TGVOIP_DIR}/CongestionControl.cpp" + "${TGVOIP_DIR}/VoIPServerConfig.cpp" + "${TGVOIP_DIR}/audio/Resampler.cpp" + "${TGVOIP_DIR}/NetworkSocket.cpp" + "${TGVOIP_DIR}/os/posix/NetworkSocketPosix.cpp" + "${TGVOIP_DIR}/PacketReassembler.cpp" + "${TGVOIP_DIR}/MessageThread.cpp" + "${TGVOIP_DIR}/json11.cpp" + "${TGVOIP_DIR}/audio/AudioIO.cpp" + "${TGVOIP_DIR}/video/VideoRenderer.cpp" + "${TGVOIP_DIR}/video/VideoSource.cpp" + "${TGVOIP_DIR}/video/ScreamCongestionController.cpp" +) +if (${ARCHITECTURE} STREQUAL "armv7l") + target_compile_definitions(tgvoip PRIVATE + WEBRTC_HAS_NEON + ) +elseif(${ARCHITECTURE} STREQUAL "aarch64") + target_compile_definitions(tgvoip PRIVATE + WEBRTC_HAS_NEON + __ARM64_NEON__ + ) +endif() +set(CC_NEON "cc") +target_sources(tgvoip PRIVATE + "${TGVOIP_DIR}/webrtc_dsp/system_wrappers/source/field_trial.cc" + "${TGVOIP_DIR}/webrtc_dsp/system_wrappers/source/metrics.cc" + "${TGVOIP_DIR}/webrtc_dsp/system_wrappers/source/cpu_features.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/strings/internal/memutil.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/strings/string_view.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/strings/ascii.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/types/bad_optional_access.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/types/optional.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/base/internal/raw_logging.cc" + "${TGVOIP_DIR}/webrtc_dsp/absl/base/internal/throw_delegate.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/race_checker.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/strings/string_builder.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/memory/aligned_malloc.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/timeutils.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/platform_file.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/string_to_number.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/thread_checker_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/stringencode.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/stringutils.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/checks.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/platform_thread.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/criticalsection.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/platform_thread_types.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/event.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/event_tracer.cc" + "${TGVOIP_DIR}/webrtc_dsp/rtc_base/logging_webrtc.cc" + "${TGVOIP_DIR}/webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc" + "${TGVOIP_DIR}/webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc" + "${TGVOIP_DIR}/webrtc_dsp/api/audio/audio_frame.cc" + "${TGVOIP_DIR}/webrtc_dsp/api/audio/echo_canceller3_config.cc" + "${TGVOIP_DIR}/webrtc_dsp/api/audio/echo_canceller3_factory.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/third_party/fft/fft.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/rms_level.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/splitting_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/gain_control_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/ns/nsx_core.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/ns/ns_core.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/ns/noise_suppression.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/audio_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/typing_detection.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/include/aec_dump.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/include/audio_processing.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/include/config.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/limiter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/transient/moving_moments.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/transient/wpd_node.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/transient/transient_detector.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/low_cut_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/level_estimator_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec/aec_core.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/voice_detection_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc/agc.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/agc/utility.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/audio_processing_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/gain_controller2.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/residual_echo_detector.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/subtractor.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/suppression_filter.${CC_NEON}" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/block_processor.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/aec_state.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.${CC_NEON}" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/block_framer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/suppression_gain.${CC_NEON}" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/moving_average.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/matched_filter.${CC_NEON}" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.${CC_NEON}" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec3/decimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/vad/gmm.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/window_generator.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/channel_buffer.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/fir_filter_factory.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/wav_header.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/real_fourier_ooura.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/audio_util.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/resampler.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/push_resampler.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/sinc_resampler.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/wav_file.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/third_party/fft4g/fft4g.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/audio_converter.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/real_fourier.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/sparse_fir_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/smoothing_filter.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/fir_filter_c.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/ring_buffer.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/complex_fft.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/levinson_durbin.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/energy.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/downsample_fast.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/splitting_filter1.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/spl_init.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/cross_correlation.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/division_operations.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/auto_correlation.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/get_scaling_square.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/resample.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/min_max_operations.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/filter_ar.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/resample_fractional.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/real_fft.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/randomization_functions.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/copy_set_operations.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/resample_by_2.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/get_hanning_window.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/resample_48khz.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/spl_inl.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/spl_sqrt.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/vad/vad_sp.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/vad/vad.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/vad/webrtc_vad.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/vad/vad_filterbank.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/vad/vad_core.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/vad/vad_gmm.c" +) +if (${ARCHITECTURE} STREQUAL "armv7l" OR ${ARCHITECTURE} STREQUAL "aarch64") + target_sources(tgvoip PRIVATE + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/fir_filter_neon.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/sinc_resampler_neon.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c" + ) +endif() +if (${ARCHITECTURE} STREQUAL "armv7l") + target_sources(tgvoip PRIVATE + "${TGVOIP_DIR}/webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_arm.S" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S" + ) +endif() +if (${ARCHITECTURE} STREQUAL "x86" OR ${ARCHITECTURE} STREQUAL "x86_64") + target_sources(tgvoip PRIVATE + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc" + "${TGVOIP_DIR}/webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/fir_filter_sse.cc" + "${TGVOIP_DIR}/webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc" + ) +endif() +target_compile_definitions(tgvoip PRIVATE + TGVOIP_USE_CUSTOM_CRYPTO + TGVOIP_HAS_CONFIG + TGVOIP_NO_VIDEO + TGVOIP_NO_GROUP_CALLS + TGVOIP_PACKAGE_PATH="org/thunderdog/challegram/voip" + TGVOIP_PEER_TAG_VARIABLE_NAME="peerTag" + TGVOIP_ENDPOINT_CLASS="org/drinkless/td/libcore/telegram/TdApi$CallServer" + + USE_KISS_FFT + WEBRTC_APM_DEBUG_DUMP=0 + WEBRTC_POSIX + WEBRTC_LINUX + FIXED_POINT + WEBRTC_NS_FLOAT + __STDC_LIMIT_MACROS +) +target_include_directories(tgvoip PRIVATE + "${TGVOIP_DIR}/webrtc_dsp" + . +) +target_compile_options(tgvoip PRIVATE + -frtti -fexceptions -finline-functions -ffast-math -fno-strict-aliasing -Wno-unknown-pragmas +) +target_link_libraries(tgvoip PUBLIC opus) \ No newline at end of file diff --git a/BuildTgCalls.cmake b/BuildTgCalls.cmake new file mode 100644 index 0000000..0d24bd1 --- /dev/null +++ b/BuildTgCalls.cmake @@ -0,0 +1,10 @@ +# tgcalls + +set(TGCALLS_DIR "${THIRDPARTY_DIR}/tgcalls") + +# Commit Telegram X currently relies on: +# https://github.com/TelegramMessenger/tgcalls/tree/92640c4db6d99de3754bf5ada8419a40d0c4aac4 + +# Source files list: +# https://github.com/TelegramMessenger/Telegram-iOS/blob/930d1fcc46e39830e6d590986a6a838c3ff49e27/submodules/TgVoipWebrtc/BUILD + diff --git a/BuildUsrSCTP.cmake b/BuildUsrSCTP.cmake new file mode 100644 index 0000000..d53849d --- /dev/null +++ b/BuildUsrSCTP.cmake @@ -0,0 +1,37 @@ +# usrsctp + +set(USRSCTP_DIR "${THIRDPARTY_DIR}/usrsctp/usrsctplib") + +add_library(usrsctp STATIC + "${USRSCTP_DIR}/netinet/sctp_asconf.c" + "${USRSCTP_DIR}/netinet/sctp_auth.c" + "${USRSCTP_DIR}/netinet/sctp_bsd_addr.c" + "${USRSCTP_DIR}/netinet/sctp_callout.c" + "${USRSCTP_DIR}/netinet/sctp_cc_functions.c" + "${USRSCTP_DIR}/netinet/sctp_crc32.c" + "${USRSCTP_DIR}/netinet/sctp_indata.c" + "${USRSCTP_DIR}/netinet/sctp_input.c" + "${USRSCTP_DIR}/netinet/sctp_output.c" + "${USRSCTP_DIR}/netinet/sctp_pcb.c" + "${USRSCTP_DIR}/netinet/sctp_peeloff.c" + "${USRSCTP_DIR}/netinet/sctp_sha1.c" + "${USRSCTP_DIR}/netinet/sctp_ss_functions.c" + "${USRSCTP_DIR}/netinet/sctp_sysctl.c" + "${USRSCTP_DIR}/netinet/sctp_timer.c" + "${USRSCTP_DIR}/netinet/sctp_userspace.c" + "${USRSCTP_DIR}/netinet/sctp_usrreq.c" + "${USRSCTP_DIR}/netinet/sctputil.c" + "${USRSCTP_DIR}/netinet6/sctp6_usrreq.c" + "${USRSCTP_DIR}/user_environment.c" + "${USRSCTP_DIR}/user_mbuf.c" + "${USRSCTP_DIR}/user_recv_thread.c" + "${USRSCTP_DIR}/user_socket.c" +) +target_compile_definitions(usrsctp PRIVATE + __Userspace__ + SCTP_SIMPLE_ALLOCATOR + SCTP_PROCESS_LEVEL_LOCKS +) +target_include_directories(usrsctp PUBLIC + "${USRSCTP_DIR}" +) \ No newline at end of file diff --git a/BuildWebRTC.cmake b/BuildWebRTC.cmake new file mode 100644 index 0000000..4c4340e --- /dev/null +++ b/BuildWebRTC.cmake @@ -0,0 +1,2876 @@ +# WebRTC + +set(WEBRTC_DIR "${THIRDPARTY_DIR}/webrtc") + +# Commit Telegram X currently relies on: +# https://github.com/ali-fareed/webrtc/tree/9f535bc11e3fd19909eb3de2f5c0836c1e3f83f4 +# Origin: +# https://github.com/TelegramMessenger/Telegram-iOS/tree/930d1fcc46e39830e6d590986a6a838c3ff49e27/third-party/webrtc + +# Source files list: +# https://github.com/TelegramMessenger/Telegram-iOS/blob/930d1fcc46e39830e6d590986a6a838c3ff49e27/third-party/webrtc/BUILD + +#"${WEBRTC_DIR}/rtc_base/socket_address.h" +#"${WEBRTC_DIR}/rtc_base/arraysize.h" +#"${WEBRTC_DIR}/rtc_base/strings/string_builder.h" +#"${WEBRTC_DIR}/rtc_base/weak_ptr.h" +#"${WEBRTC_DIR}/rtc_base/zero_memory.h" +#"${WEBRTC_DIR}/rtc_base/unique_id_generator.h" +#"${WEBRTC_DIR}/rtc_base/numerics/safe_conversions.h" +#"${WEBRTC_DIR}/rtc_base/third_party/base64/base64.h" +#"${WEBRTC_DIR}/rtc_base/platform_thread_types.h" +#"${WEBRTC_DIR}/rtc_base/task_queue.h" +#"${WEBRTC_DIR}/rtc_base/system/file_wrapper.h" +#"${WEBRTC_DIR}/rtc_base/task_utils/repeating_task.h" +#"${WEBRTC_DIR}/rtc_base/synchronization/yield_policy.h" +#"${WEBRTC_DIR}/rtc_base/string_utils.h" +#"${WEBRTC_DIR}/rtc_base/strings/audio_format_to_string.h" +#"${WEBRTC_DIR}/rtc_base/system/cocoa_threading.h" +#"${WEBRTC_DIR}/rtc_base/system/cocoa_threading.mm" +#"${WEBRTC_DIR}/rtc_base/string_to_number.h" +#"${WEBRTC_DIR}/rtc_base/ssl_adapter.h" +#"${WEBRTC_DIR}/rtc_base/stream.h" +#"${WEBRTC_DIR}/rtc_base/socket_address_pair.h" +#"${WEBRTC_DIR}/rtc_base/ssl_identity.h" +#"${WEBRTC_DIR}/rtc_base/ssl_certificate.h" +#"${WEBRTC_DIR}/rtc_base/socket.h" +#"${WEBRTC_DIR}/rtc_base/rtc_certificate.h" +#"${WEBRTC_DIR}/rtc_base/rate_tracker.h" +#"${WEBRTC_DIR}/rtc_base/rate_statistics.h" +#"${WEBRTC_DIR}/rtc_base/race_checker.h" +#"${WEBRTC_DIR}/rtc_base/proxy_info.h" +#"${WEBRTC_DIR}/rtc_base/random.h" +#"${WEBRTC_DIR}/rtc_base/platform_thread.h" +#"${WEBRTC_DIR}/rtc_base/operations_chain.h" +#"${WEBRTC_DIR}/rtc_base/physical_socket_server.h" +#"${WEBRTC_DIR}/rtc_base/openssl_session_cache.h" +#"${WEBRTC_DIR}/rtc_base/openssl_stream_adapter.h" +#"${WEBRTC_DIR}/rtc_base/openssl_identity.h" +#"${WEBRTC_DIR}/rtc_base/openssl_certificate.h" +#"${WEBRTC_DIR}/rtc_base/numerics/sample_counter.h" +#"${WEBRTC_DIR}/rtc_base/openssl_adapter.h" +#"${WEBRTC_DIR}/rtc_base/numerics/event_rate_counter.h" +#"${WEBRTC_DIR}/rtc_base/numerics/histogram_percentile_counter.h" +#"${WEBRTC_DIR}/rtc_base/network_route.h" +#"${WEBRTC_DIR}/rtc_base/network/sent_packet.h" +#"${WEBRTC_DIR}/rtc_base/net_helper.h" +#"${WEBRTC_DIR}/rtc_base/numerics/event_based_exponential_moving_average.h" +#"${WEBRTC_DIR}/rtc_base/null_socket_server.h" +#"${WEBRTC_DIR}/rtc_base/network_monitor.h" +#"${WEBRTC_DIR}/rtc_base/message_digest.h" +#"${WEBRTC_DIR}/rtc_base/network.h" +#"${WEBRTC_DIR}/rtc_base/memory/aligned_malloc.h" +#"${WEBRTC_DIR}/rtc_base/byte_order.h" +#"${WEBRTC_DIR}/rtc_base/ifaddrs_converter.h" +#"${WEBRTC_DIR}/rtc_base/helpers.h" +#"${WEBRTC_DIR}/rtc_base/file_rotating_stream.h" +#"${WEBRTC_DIR}/rtc_base/experiments/struct_parameters_parser.h" +#"${WEBRTC_DIR}/rtc_base/experiments/rate_control_settings.h" +#"${WEBRTC_DIR}/rtc_base/experiments/rtt_mult_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/quality_rampup_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/quality_scaling_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/min_video_bitrate_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/field_trial_list.h" +#"${WEBRTC_DIR}/rtc_base/experiments/field_trial_units.h" +#"${WEBRTC_DIR}/rtc_base/experiments/field_trial_parser.h" +#"${WEBRTC_DIR}/rtc_base/data_rate_limiter.h" +#"${WEBRTC_DIR}/rtc_base/experiments/cpu_speed_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/balanced_degradation_settings.h" +#"${WEBRTC_DIR}/rtc_base/crc32.h" +#"${WEBRTC_DIR}/rtc_base/event.h" +#"${WEBRTC_DIR}/rtc_base/event_tracer.h" +#"${WEBRTC_DIR}/rtc_base/copy_on_write_buffer.h" +#"${WEBRTC_DIR}/rtc_base/bit_buffer.h" +#"${WEBRTC_DIR}/rtc_base/buffer_queue.h" +#"${WEBRTC_DIR}/rtc_base/async_packet_socket.h" +#"${WEBRTC_DIR}/rtc_base/async_socket.h" +#"${WEBRTC_DIR}/rtc_base/async_udp_socket.h" +#"${WEBRTC_DIR}/rtc_base/async_resolver_interface.h" +#"${WEBRTC_DIR}/rtc_base/async_tcp_socket.h" +#"${WEBRTC_DIR}/rtc_base/byte_buffer.h" +#"${WEBRTC_DIR}/rtc_base/crypt_string.h" +#"${WEBRTC_DIR}/rtc_base/system/arch.h" +#"${WEBRTC_DIR}/rtc_base/experiments/alr_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/keyframe_interval_settings.h" +#"${WEBRTC_DIR}/rtc_base/experiments/normalize_simulcast_size_experiment.h" +#"${WEBRTC_DIR}/rtc_base/experiments/quality_scaler_settings.h" +#"${WEBRTC_DIR}/rtc_base/experiments/stable_target_rate_experiment.h" +#"${WEBRTC_DIR}/rtc_base/third_party/sigslot/sigslot.h" +#"${WEBRTC_DIR}/rtc_base/timestamp_aligner.h" +#"${WEBRTC_DIR}/rtc_base/ssl_stream_adapter.h" +#"${WEBRTC_DIR}/rtc_base/task_queue_gcd.h" +#"${WEBRTC_DIR}/rtc_base/string_encode.h" +#"${WEBRTC_DIR}/rtc_base/ssl_fingerprint.h" +#"${WEBRTC_DIR}/rtc_base/rtc_certificate_generator.h" +#"${WEBRTC_DIR}/rtc_base/rate_limiter.h" +#"${WEBRTC_DIR}/rtc_base/numerics/sample_stats.h" +#"${WEBRTC_DIR}/rtc_base/numerics/exp_filter.h" +#"${WEBRTC_DIR}/rtc_base/numerics/moving_average.h" +#"${WEBRTC_DIR}/rtc_base/openssl_utility.h" +#"${WEBRTC_DIR}/rtc_base/openssl_digest.h" +#"${WEBRTC_DIR}/rtc_base/net_helpers.h" +#"${WEBRTC_DIR}/rtc_base/memory/fifo_buffer.h" +#"${WEBRTC_DIR}/rtc_base/log_sinks.h" +#"${WEBRTC_DIR}/rtc_base/network_constants.h" +#"${WEBRTC_DIR}/rtc_base/system/rtc_export.h" +#"${WEBRTC_DIR}/rtc_base/system/inline.h" +#"${WEBRTC_DIR}/rtc_base/type_traits.h" +#"${WEBRTC_DIR}/rtc_base/numerics/safe_compare.h" +#"${WEBRTC_DIR}/rtc_base/synchronization/yield.h" +#"${WEBRTC_DIR}/rtc_base/ref_count.h" +#"${WEBRTC_DIR}/rtc_base/ref_counter.h" +#"${WEBRTC_DIR}/rtc_base/logging.h" +#"${WEBRTC_DIR}/api/audio/channel_layout.h" +#"${WEBRTC_DIR}/api/video_track_source_constraints.h" +#"${WEBRTC_DIR}/api/candidate.h" +#"${WEBRTC_DIR}/api/audio/audio_frame.h" +#"${WEBRTC_DIR}/api/ref_counted_base.h" +#"${WEBRTC_DIR}/api/function_view.h" +#"${WEBRTC_DIR}/api/rtp_packet_info.h" +#"${WEBRTC_DIR}/pc/dtls_srtp_transport.h" +#"${WEBRTC_DIR}/media/base/adapted_video_track_source.h" +#"${WEBRTC_DIR}/media/engine/webrtc_media_engine.h" +#"${WEBRTC_DIR}/media/engine/webrtc_video_engine.h" +#"${WEBRTC_DIR}/media/engine/webrtc_voice_engine.h" +#"${WEBRTC_DIR}/modules/audio_device/audio_device_name.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264_decoder_impl.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264_encoder_impl.h" +#"${WEBRTC_DIR}/video/adaptation/bandwidth_quality_scaler_resource.h" +#"${WEBRTC_DIR}/rtc_base/checks.h" +#"${WEBRTC_DIR}/rtc_base/thread.h" +#"${WEBRTC_DIR}/api/rtp_packet_infos.h" +#"${WEBRTC_DIR}/api/task_queue/task_queue_base.h" +#"${WEBRTC_DIR}/rtc_base/thread_annotations.h" +#"${WEBRTC_DIR}/common_audio/signal_processing/dot_product_with_scale.h" +#"${WEBRTC_DIR}/api/audio/audio_mixer.h" +#"${WEBRTC_DIR}/api/audio/echo_canceller3_config.h" +#"${WEBRTC_DIR}/api/audio/echo_canceller3_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/L16/audio_decoder_L16.h" +#"${WEBRTC_DIR}/api/audio_codecs/L16/audio_encoder_L16.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_codec_pair_id.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_decoder.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_encoder.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_encoder_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_format.h" +#"${WEBRTC_DIR}/api/audio_codecs/builtin_audio_decoder_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/builtin_audio_encoder_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/g711/audio_decoder_g711.h" +#"${WEBRTC_DIR}/api/audio_codecs/g711/audio_encoder_g711.h" +#"${WEBRTC_DIR}/api/audio_codecs/g722/audio_decoder_g722.h" +#"${WEBRTC_DIR}/api/audio_codecs/g722/audio_encoder_g722.h" +#"${WEBRTC_DIR}/api/audio_codecs/ilbc/audio_decoder_ilbc.h" +#"${WEBRTC_DIR}/api/audio_codecs/ilbc/audio_encoder_ilbc.h" +#"${WEBRTC_DIR}/api/audio_codecs/isac/audio_decoder_isac_fix.h" +#"${WEBRTC_DIR}/api/audio_codecs/isac/audio_decoder_isac_float.h" +#"${WEBRTC_DIR}/api/audio_codecs/isac/audio_encoder_isac_fix.h" +#"${WEBRTC_DIR}/api/audio_codecs/isac/audio_encoder_isac_float.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_decoder_multi_channel_opus.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_decoder_opus.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_multi_channel_opus.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_opus.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_opus_config.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus_audio_decoder_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus_audio_encoder_factory.h" +#"${WEBRTC_DIR}/api/audio_options.h" +#"${WEBRTC_DIR}/api/call/transport.h" +#"${WEBRTC_DIR}/api/create_peerconnection_factory.h" +#"${WEBRTC_DIR}/api/crypto/crypto_options.h" +#"${WEBRTC_DIR}/api/data_channel_interface.h" +#"${WEBRTC_DIR}/api/dtls_transport_interface.h" +#"${WEBRTC_DIR}/api/ice_transport_factory.h" +#"${WEBRTC_DIR}/api/jsep.h" +#"${WEBRTC_DIR}/api/jsep_ice_candidate.h" +#"${WEBRTC_DIR}/api/jsep_session_description.h" +#"${WEBRTC_DIR}/api/media_stream_interface.h" +#"${WEBRTC_DIR}/api/media_types.h" +#"${WEBRTC_DIR}/api/neteq/custom_neteq_factory.h" +#"${WEBRTC_DIR}/api/neteq/default_neteq_controller_factory.h" +#"${WEBRTC_DIR}/api/neteq/neteq.h" +#"${WEBRTC_DIR}/api/neteq/tick_timer.h" +#"${WEBRTC_DIR}/api/peer_connection_interface.h" +#"${WEBRTC_DIR}/api/rtc_error.h" +#"${WEBRTC_DIR}/api/rtc_event_log/rtc_event.h" +#"${WEBRTC_DIR}/api/rtc_event_log/rtc_event_log.h" +#"${WEBRTC_DIR}/api/rtc_event_log/rtc_event_log_factory.h" +#"${WEBRTC_DIR}/api/rtc_event_log_output_file.h" +#"${WEBRTC_DIR}/api/rtp_headers.h" +#"${WEBRTC_DIR}/api/rtp_parameters.h" +#"${WEBRTC_DIR}/api/rtp_receiver_interface.h" +#"${WEBRTC_DIR}/api/rtp_sender_interface.h" +#"${WEBRTC_DIR}/api/rtp_transceiver_interface.h" +#"${WEBRTC_DIR}/api/scoped_refptr.h" +#"${WEBRTC_DIR}/api/sctp_transport_interface.h" +#"${WEBRTC_DIR}/api/stats/rtc_stats.h" +#"${WEBRTC_DIR}/api/stats/rtc_stats_report.h" +#"${WEBRTC_DIR}/api/stats/rtcstats_objects.h" +#"${WEBRTC_DIR}/api/stats_types.h" +#"${WEBRTC_DIR}/api/task_queue/task_queue_factory.h" +#"${WEBRTC_DIR}/api/transport/bitrate_settings.h" +#"${WEBRTC_DIR}/api/transport/field_trial_based_config.h" +#"${WEBRTC_DIR}/api/transport/goog_cc_factory.h" +#"${WEBRTC_DIR}/api/transport/network_types.h" +#"${WEBRTC_DIR}/api/transport/stun.h" +#"${WEBRTC_DIR}/api/units/data_rate.h" +#"${WEBRTC_DIR}/api/units/data_size.h" +#"${WEBRTC_DIR}/api/units/frequency.h" +#"${WEBRTC_DIR}/api/units/time_delta.h" +#"${WEBRTC_DIR}/api/units/timestamp.h" +#"${WEBRTC_DIR}/api/video/builtin_video_bitrate_allocator_factory.h" +#"${WEBRTC_DIR}/api/video/color_space.h" +#"${WEBRTC_DIR}/api/video/encoded_frame.h" +#"${WEBRTC_DIR}/api/video/encoded_image.h" +#"${WEBRTC_DIR}/api/video/hdr_metadata.h" +#"${WEBRTC_DIR}/api/video/i010_buffer.h" +#"${WEBRTC_DIR}/api/video/i420_buffer.h" +#"${WEBRTC_DIR}/api/video/video_bitrate_allocation.h" +#"${WEBRTC_DIR}/api/video/video_bitrate_allocator.h" +#"${WEBRTC_DIR}/api/video/video_content_type.h" +#"${WEBRTC_DIR}/api/video/video_frame.h" +#"${WEBRTC_DIR}/api/video/video_frame_buffer.h" +#"${WEBRTC_DIR}/api/video/video_rotation.h" +#"${WEBRTC_DIR}/api/video/video_source_interface.h" +#"${WEBRTC_DIR}/api/video/video_stream_decoder_create.h" +#"${WEBRTC_DIR}/api/video/video_timing.h" +#"${WEBRTC_DIR}/api/video_codecs/builtin_video_decoder_factory.h" +#"${WEBRTC_DIR}/api/video_codecs/builtin_video_encoder_factory.h" +#"${WEBRTC_DIR}/api/video_codecs/sdp_video_format.h" +#"${WEBRTC_DIR}/api/video_codecs/video_codec.h" +#"${WEBRTC_DIR}/api/video_codecs/video_decoder.h" +#"${WEBRTC_DIR}/api/video_codecs/video_decoder_factory.h" +#"${WEBRTC_DIR}/api/video_codecs/video_decoder_software_fallback_wrapper.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder_factory.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder_software_fallback_wrapper.h" +#"${WEBRTC_DIR}/api/video_codecs/vp8_frame_config.h" +#"${WEBRTC_DIR}/api/video_codecs/vp8_temporal_layers.h" +#"${WEBRTC_DIR}/api/video_codecs/vp8_temporal_layers_factory.h" +#"${WEBRTC_DIR}/call/adaptation/encoder_settings.h" +#"${WEBRTC_DIR}/call/adaptation/resource_adaptation_processor_interface.h" +#"${WEBRTC_DIR}/call/adaptation/video_source_restrictions.h" +#"${WEBRTC_DIR}/call/audio_receive_stream.h" +#"${WEBRTC_DIR}/call/audio_send_stream.h" +#"${WEBRTC_DIR}/call/audio_state.h" +#"${WEBRTC_DIR}/call/bitrate_allocator.h" +#"${WEBRTC_DIR}/call/call.h" +#"${WEBRTC_DIR}/call/call_config.h" +#"${WEBRTC_DIR}/call/call_factory.h" +#"${WEBRTC_DIR}/call/degraded_call.h" +#"${WEBRTC_DIR}/call/fake_network_pipe.h" +#"${WEBRTC_DIR}/call/flexfec_receive_stream.h" +#"${WEBRTC_DIR}/call/flexfec_receive_stream_impl.h" +#"${WEBRTC_DIR}/call/receive_time_calculator.h" +#"${WEBRTC_DIR}/call/receive_stream.h" +#"${WEBRTC_DIR}/call/rtp_bitrate_configurator.h" +#"${WEBRTC_DIR}/call/rtp_config.h" +#"${WEBRTC_DIR}/call/rtp_demuxer.h" +#"${WEBRTC_DIR}/call/rtp_payload_params.h" +#"${WEBRTC_DIR}/call/rtp_stream_receiver_controller.h" +#"${WEBRTC_DIR}/call/rtp_transport_controller_send.h" +#"${WEBRTC_DIR}/call/rtp_video_sender.h" +#"${WEBRTC_DIR}/call/rtx_receive_stream.h" +#"${WEBRTC_DIR}/call/simulated_network.h" +#"${WEBRTC_DIR}/call/syncable.h" +#"${WEBRTC_DIR}/call/video_receive_stream.h" +#"${WEBRTC_DIR}/call/video_send_stream.h" +#"${WEBRTC_DIR}/common_audio/audio_converter.h" +#"${WEBRTC_DIR}/common_audio/channel_buffer.h" +#"${WEBRTC_DIR}/common_audio/fir_filter_c.h" +#"${WEBRTC_DIR}/common_audio/fir_filter_factory.h" +#"${WEBRTC_DIR}/common_audio/fir_filter_neon.h" +#"${WEBRTC_DIR}/common_audio/include/audio_util.h" +#"${WEBRTC_DIR}/common_audio/real_fourier.h" +#"${WEBRTC_DIR}/common_audio/real_fourier_ooura.h" +#"${WEBRTC_DIR}/common_audio/resampler/include/push_resampler.h" +#"${WEBRTC_DIR}/common_audio/resampler/include/resampler.h" +#"${WEBRTC_DIR}/common_audio/resampler/push_sinc_resampler.h" +#"${WEBRTC_DIR}/common_audio/resampler/sinc_resampler.h" +#"${WEBRTC_DIR}/common_audio/resampler/sinusoidal_linear_chirp_source.h" +#"${WEBRTC_DIR}/common_audio/ring_buffer.h" +#"${WEBRTC_DIR}/common_audio/signal_processing/complex_fft_tables.h" +#"${WEBRTC_DIR}/common_audio/signal_processing/include/real_fft.h" +#"${WEBRTC_DIR}/common_audio/signal_processing/include/signal_processing_library.h" +#"${WEBRTC_DIR}/common_audio/signal_processing/include/spl_inl.h" +#"${WEBRTC_DIR}/common_audio/signal_processing/resample_by_2_internal.h" +#"${WEBRTC_DIR}/common_audio/smoothing_filter.h" +#"${WEBRTC_DIR}/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h" +#"${WEBRTC_DIR}/common_audio/vad/include/vad.h" +#"${WEBRTC_DIR}/common_audio/vad/include/webrtc_vad.h" +#"${WEBRTC_DIR}/common_audio/vad/vad_core.h" +#"${WEBRTC_DIR}/common_audio/vad/vad_filterbank.h" +#"${WEBRTC_DIR}/common_audio/vad/vad_gmm.h" +#"${WEBRTC_DIR}/common_audio/vad/vad_sp.h" +#"${WEBRTC_DIR}/common_audio/wav_file.h" +#"${WEBRTC_DIR}/common_audio/wav_header.h" +#"${WEBRTC_DIR}/common_audio/window_generator.h" +#"${WEBRTC_DIR}/common_video/framerate_controller.h" +#"${WEBRTC_DIR}/common_video/frame_rate_estimator.h" +#"${WEBRTC_DIR}/common_video/generic_frame_descriptor/generic_frame_info.h" +#"${WEBRTC_DIR}/common_video/h264/h264_bitstream_parser.h" +#"${WEBRTC_DIR}/common_video/h264/h264_common.h" +#"${WEBRTC_DIR}/common_video/h264/pps_parser.h" +#"${WEBRTC_DIR}/common_video/h264/sps_parser.h" +#"${WEBRTC_DIR}/common_video/h264/sps_vui_rewriter.h" +#"${WEBRTC_DIR}/common_video/include/bitrate_adjuster.h" +#"${WEBRTC_DIR}/common_video/include/video_frame_buffer.h" +#"${WEBRTC_DIR}/common_video/libyuv/include/webrtc_libyuv.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/blob_encoding.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/delta_encoding.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/rtc_event_log_encoder_common.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/var_int.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_alr_state.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_playout.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_dtls_transport_state.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_dtls_writable_state.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_generic_ack_received.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_generic_packet_received.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_generic_packet_sent.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_probe_cluster_created.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_probe_result_failure.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_probe_result_success.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_route_change.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_video_send_stream_config.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/fake_rtc_event_log.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/fake_rtc_event_log_factory.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/ice_logger.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/rtc_event_log_impl.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/rtc_stream_config.h" +#"${WEBRTC_DIR}/media/base/codec.h" +#"${WEBRTC_DIR}/media/base/media_channel.h" +#"${WEBRTC_DIR}/media/base/media_constants.h" +#"${WEBRTC_DIR}/media/base/media_engine.h" +#"${WEBRTC_DIR}/media/base/rid_description.h" +#"${WEBRTC_DIR}/media/base/rtp_utils.h" +#"${WEBRTC_DIR}/media/base/stream_params.h" +#"${WEBRTC_DIR}/media/base/turn_utils.h" +#"${WEBRTC_DIR}/media/base/video_adapter.h" +#"${WEBRTC_DIR}/media/base/video_broadcaster.h" +#"${WEBRTC_DIR}/media/base/video_common.h" +#"${WEBRTC_DIR}/media/base/video_source_base.h" +#"${WEBRTC_DIR}/media/engine/adm_helpers.h" +#"${WEBRTC_DIR}/media/engine/encoder_simulcast_proxy.h" +#"${WEBRTC_DIR}/media/engine/internal_decoder_factory.h" +#"${WEBRTC_DIR}/media/engine/internal_encoder_factory.h" +#"${WEBRTC_DIR}/media/engine/multiplex_codec_factory.h" +#"${WEBRTC_DIR}/media/engine/payload_type_mapper.h" +#"${WEBRTC_DIR}/media/engine/simulcast_encoder_adapter.h" +#"${WEBRTC_DIR}/media/engine/unhandled_packets_buffer.h" +#"${WEBRTC_DIR}/media/engine/webrtc_media_engine_defaults.h" +#"${WEBRTC_DIR}/modules/audio_coding/acm2/acm_receiver.h" +#"${WEBRTC_DIR}/modules/audio_coding/acm2/acm_remixing.h" +#"${WEBRTC_DIR}/modules/audio_coding/acm2/acm_resampler.h" +#"${WEBRTC_DIR}/modules/audio_coding/acm2/call_statistics.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/bitrate_controller.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/channel_controller.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/controller.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/controller_manager.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/debug_dump_writer.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/dtx_controller.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/event_log_writer.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/frame_length_controller.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/cng/audio_encoder_cng.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/cng/webrtc_cng.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/g711/audio_decoder_pcm.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/g711/audio_encoder_pcm.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/g722/audio_decoder_g722.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/g722/audio_encoder_g722.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/g722/g722_interface.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_construct.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/decode_residual.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/defines.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/energy_inverse.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/get_cd_vec.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/ilbc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/interpolate.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_dec.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/vq3.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/vq4.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/include/audio_decoder_isacfix.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/include/audio_encoder_isacfix.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/include/isacfix.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/arith_routins.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/bandwidth_estimator.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/codec.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/entropy_coding.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/fft.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filterbank_internal.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filterbank_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_estimator.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_gain_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/settings.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/spectrum_ar_model_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/include/audio_decoder_isac.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/include/audio_encoder_isac.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/include/isac.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/arith_routines.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/codec.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/crc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/isac_vad.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/settings.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/structs.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/util/utility.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/legacy_encoded_audio_frame.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_coder_opus_common.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_decoder_multi_channel_opus_impl.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_decoder_opus.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_encoder_opus.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/opus_interface.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/test/audio_ring_buffer.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/test/blocker.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/test/lapped_transform.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/pcm16b.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/pcm16b_common.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/red/audio_encoder_copy_red.h" +#"${WEBRTC_DIR}/modules/audio_coding/include/audio_coding_module.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/reorder_optimizer.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/underrun_optimizer.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/accelerate.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/audio_multi_vector.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/audio_vector.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/background_noise.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/buffer_level_filter.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/comfort_noise.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/cross_correlation.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/decision_logic.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/decoder_database.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/default_neteq_factory.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/delay_manager.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/dsp_helper.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/dtmf_buffer.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/dtmf_tone_generator.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/expand.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/expand_uma_logger.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/histogram.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/merge.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/nack_tracker.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/neteq_impl.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/normal.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/packet.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/packet_buffer.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/post_decode_vad.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/preemptive_expand.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/random_vector.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/red_payload_splitter.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/statistics_calculator.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/sync_buffer.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/time_stretch.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/timestamp_scaler.h" +#"${WEBRTC_DIR}/modules/audio_device/audio_device_buffer.h" +#"${WEBRTC_DIR}/modules/audio_device/audio_device_generic.h" +#"${WEBRTC_DIR}/modules/audio_device/audio_device_impl.h" +#"${WEBRTC_DIR}/modules/audio_device/dummy/audio_device_dummy.h" +#"${WEBRTC_DIR}/modules/audio_device/dummy/file_audio_device.h" +#"${WEBRTC_DIR}/modules/audio_device/dummy/file_audio_device_factory.h" +#"${WEBRTC_DIR}/modules/audio_device/fine_audio_buffer.h" +#"${WEBRTC_DIR}/modules/audio_device/include/audio_device_data_observer.h" +#"${WEBRTC_DIR}/modules/audio_device/include/test_audio_device.h" +#"${WEBRTC_DIR}/modules/audio_mixer/audio_frame_manipulator.h" +#"${WEBRTC_DIR}/modules/audio_mixer/audio_mixer_impl.h" +#"${WEBRTC_DIR}/modules/audio_mixer/default_output_rate_calculator.h" +#"${WEBRTC_DIR}/modules/audio_mixer/frame_combiner.h" +#"${WEBRTC_DIR}/modules/audio_mixer/gain_change_calculator.h" +#"${WEBRTC_DIR}/modules/audio_mixer/sine_wave_generator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/adaptive_fir_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/adaptive_fir_filter_erl.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/aec3_common.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/aec3_fft.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/aec_state.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/alignment_mixer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/api_call_jitter_metrics.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/block_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/block_delay_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/block_framer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/block_processor.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/block_processor_metrics.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/clockdrift_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/coarse_filter_update_gain.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/comfort_noise_generator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/decimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/dominant_nearend_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/downsampled_render_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/echo_audibility.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/echo_canceller3.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/echo_path_delay_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/echo_path_variability.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/echo_remover.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/echo_remover_metrics.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/erl_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/erle_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/fft_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/filter_analyzer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/frame_blocker.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/fullband_erle_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/matched_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/matched_filter_lag_aggregator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/moving_average.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/refined_filter_update_gain.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/render_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/render_delay_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/render_delay_controller.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/render_delay_controller_metrics.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/render_signal_analyzer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/residual_echo_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_decay_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_frequency_response.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_model.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_model_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/signal_dependent_erle_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/spectrum_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/stationarity_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/subband_erle_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/subband_nearend_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/subtractor.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/subtractor_output.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/subtractor_output_analyzer.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/suppression_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/suppression_gain.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec_dump/aec_dump_factory.h" +#"${WEBRTC_DIR}/modules/audio_processing/aecm/aecm_core.h" +#"${WEBRTC_DIR}/modules/audio_processing/aecm/echo_control_mobile.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/agc.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/agc_manager_direct.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/legacy/analog_agc.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/legacy/digital_agc.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/loudness_histogram.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/utility.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/adaptive_digital_gain_applier.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/adaptive_mode_level_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/agc2_common.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/agc2_testing_common.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/biquad_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/compute_interpolated_gain_curve.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/fixed_digital_level_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/gain_applier.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/interpolated_gain_curve.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/limiter.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/limiter_db_gain_curve.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/noise_level_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/auto_correlation.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/common.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/features_extraction.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/lp_residual.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/pitch_search.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/rnn.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/spectral_features.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/saturation_protector.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/vector_float_frame.h" +#"${WEBRTC_DIR}/modules/audio_processing/audio_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/audio_processing_impl.h" +#"${WEBRTC_DIR}/modules/audio_processing/echo_control_mobile_impl.h" +#"${WEBRTC_DIR}/modules/audio_processing/echo_detector/circular_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/echo_detector/mean_variance_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/echo_detector/moving_max.h" +#"${WEBRTC_DIR}/modules/audio_processing/echo_detector/normalized_covariance_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/gain_control_impl.h" +#"${WEBRTC_DIR}/modules/audio_processing/gain_controller2.h" +#"${WEBRTC_DIR}/modules/audio_processing/high_pass_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/include/aec_dump.h" +#"${WEBRTC_DIR}/modules/audio_processing/include/audio_frame_proxies.h" +#"${WEBRTC_DIR}/modules/audio_processing/include/audio_processing.h" +#"${WEBRTC_DIR}/modules/audio_processing/include/audio_processing_statistics.h" +#"${WEBRTC_DIR}/modules/audio_processing/logging/apm_data_dumper.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/fast_math.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/histograms.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/noise_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/noise_suppressor.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/ns_fft.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/prior_signal_model.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/prior_signal_model_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/quantile_noise_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/signal_model.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/signal_model_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/speech_probability_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/suppression_params.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/wiener_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/residual_echo_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/rms_level.h" +#"${WEBRTC_DIR}/modules/audio_processing/splitting_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/three_band_filter_bank.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/file_utils.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/moving_moments.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/transient_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/transient_suppressor_impl.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/wpd_node.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/wpd_tree.h" +#"${WEBRTC_DIR}/modules/audio_processing/utility/cascaded_biquad_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/utility/delay_estimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/utility/delay_estimator_wrapper.h" +#"${WEBRTC_DIR}/modules/audio_processing/utility/pffft_wrapper.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/gmm.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/pitch_based_vad.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/pitch_internal.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/pole_zero_filter.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/standalone_vad.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/vad_audio_proc.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/vad_circular_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/voice_activity_detector.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/alr_detector.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/bitrate_estimator.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/delay_based_bwe.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/goog_cc_network_control.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/link_capacity_estimator.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/loss_based_bandwidth_estimation.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/probe_bitrate_estimator.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/probe_controller.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/robust_throughput_estimator.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/trendline_estimator.h" +#"${WEBRTC_DIR}/modules/congestion_controller/include/receive_side_congestion_controller.h" +#"${WEBRTC_DIR}/modules/congestion_controller/pcc/bitrate_controller.h" +#"${WEBRTC_DIR}/modules/congestion_controller/pcc/monitor_interval.h" +#"${WEBRTC_DIR}/modules/congestion_controller/pcc/pcc_factory.h" +#"${WEBRTC_DIR}/modules/congestion_controller/pcc/pcc_network_controller.h" +#"${WEBRTC_DIR}/modules/congestion_controller/pcc/rtt_tracker.h" +#"${WEBRTC_DIR}/modules/congestion_controller/pcc/utility_function.h" +#"${WEBRTC_DIR}/modules/congestion_controller/rtp/control_handler.h" +#"${WEBRTC_DIR}/modules/congestion_controller/rtp/transport_feedback_adapter.h" +#"${WEBRTC_DIR}/modules/congestion_controller/rtp/transport_feedback_demuxer.h" +#"${WEBRTC_DIR}/modules/include/module_common_types.h" +#"${WEBRTC_DIR}/modules/pacing/bitrate_prober.h" +#"${WEBRTC_DIR}/modules/pacing/interval_budget.h" +#"${WEBRTC_DIR}/modules/pacing/pacing_controller.h" +#"${WEBRTC_DIR}/modules/pacing/packet_router.h" +#"${WEBRTC_DIR}/modules/pacing/task_queue_paced_sender.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/aimd_rate_control.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/include/bwe_defines.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/inter_arrival.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/overuse_detector.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/overuse_estimator.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/remote_estimator_proxy.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/test/bwe_test_logging.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/flexfec_receiver.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/flexfec_sender.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/remote_ntp_time_estimator.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/report_block_data.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/rtp_header_extension_map.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/rtp_rtcp_defines.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/absolute_capture_time_sender.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/create_video_rtp_depacketizer.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/dtmf_queue.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/fec_private_tables_bursty.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/fec_private_tables_random.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/fec_test_helper.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/flexfec_header_reader_writer.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/forward_error_correction.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/forward_error_correction_internal.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/packet_loss_stats.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/receive_statistics_impl.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_nack_stats.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/app.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/bye.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/common_header.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/compound_packet.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/dlrr.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/fir.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/loss_notification.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/nack.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/pli.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/psfb.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/remb.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/remote_estimate.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/report_block.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/rrtr.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/rtpfb.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/sdes.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/sender_report.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_receiver.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_sender.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_transceiver.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_transceiver_config.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_transceiver_impl.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_descriptor_authentication.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_h264.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_video_generic.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_vp8.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_vp9.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_header_extension_size.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_header_extensions.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet_history.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet_received.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet_to_send.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packetizer_av1.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_rtcp_impl.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_audio.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_egress.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_video.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sequence_number_map.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_video_header.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/source_tracker.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/time_util.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/tmmbr_help.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/ulpfec_generator.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/ulpfec_header_reader_writer.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_av1.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_generic.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_h264.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_raw.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_vp8.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_vp9.h" +#"${WEBRTC_DIR}/modules/third_party/fft/fft.h" +#"${WEBRTC_DIR}/modules/third_party/g711/g711.h" +#"${WEBRTC_DIR}/modules/third_party/g722/g722_enc_dec.h" +#"${WEBRTC_DIR}/modules/video_capture/device_info_impl.h" +#"${WEBRTC_DIR}/modules/video_capture/video_capture_factory.h" +#"${WEBRTC_DIR}/modules/video_capture/video_capture_impl.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/vp9_constants.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/bandwidth_quality_scaler.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/av1/libaom_av1_encoder.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/h264/include/h264.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/include/multiplex_decoder_adapter.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/include/multiplex_encoder_adapter.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/default_temporal_layers.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/include/temporal_layers_checker.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/screenshare_layers.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp9/include/vp9.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp9/svc_config.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h" +#"${WEBRTC_DIR}/modules/video_coding/decoder_database.h" +#"${WEBRTC_DIR}/modules/video_coding/decoding_state.h" +#"${WEBRTC_DIR}/modules/video_coding/encoded_frame.h" +#"${WEBRTC_DIR}/modules/video_coding/event_wrapper.h" +#"${WEBRTC_DIR}/modules/video_coding/fec_controller_default.h" +#"${WEBRTC_DIR}/modules/video_coding/frame_buffer.h" +#"${WEBRTC_DIR}/modules/video_coding/frame_buffer2.h" +#"${WEBRTC_DIR}/modules/video_coding/frame_dependencies_calculator.h" +#"${WEBRTC_DIR}/modules/video_coding/frame_object.h" +#"${WEBRTC_DIR}/modules/video_coding/generic_decoder.h" +#"${WEBRTC_DIR}/modules/video_coding/h264_sprop_parameter_sets.h" +#"${WEBRTC_DIR}/modules/video_coding/h264_sps_pps_tracker.h" +#"${WEBRTC_DIR}/modules/video_coding/histogram.h" +#"${WEBRTC_DIR}/modules/video_coding/include/video_codec_initializer.h" +#"${WEBRTC_DIR}/modules/video_coding/include/video_codec_interface.h" +#"${WEBRTC_DIR}/modules/video_coding/include/video_coding_defines.h" +#"${WEBRTC_DIR}/modules/video_coding/include/video_error_codes.h" +#"${WEBRTC_DIR}/modules/video_coding/jitter_buffer.h" +#"${WEBRTC_DIR}/modules/video_coding/loss_notification_controller.h" +#"${WEBRTC_DIR}/modules/video_coding/media_opt_util.h" +#"${WEBRTC_DIR}/modules/video_coding/packet.h" +#"${WEBRTC_DIR}/modules/video_coding/packet_buffer.h" +#"${WEBRTC_DIR}/modules/video_coding/receiver.h" +#"${WEBRTC_DIR}/modules/video_coding/rtp_frame_reference_finder.h" +#"${WEBRTC_DIR}/modules/video_coding/session_info.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/decoded_frames_history.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/frame_dropper.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/ivf_file_reader.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/ivf_file_writer.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/quality_scaler.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/simulcast_rate_allocator.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/simulcast_utility.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/vp8_header_parser.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/vp9_uncompressed_header_parser.h" +#"${WEBRTC_DIR}/modules/video_coding/video_coding_impl.h" +#"${WEBRTC_DIR}/modules/video_coding/video_receiver2.h" +#"${WEBRTC_DIR}/p2p/base/async_stun_tcp_socket.h" +#"${WEBRTC_DIR}/p2p/base/basic_async_resolver_factory.h" +#"${WEBRTC_DIR}/p2p/base/basic_ice_controller.h" +#"${WEBRTC_DIR}/p2p/base/basic_packet_socket_factory.h" +#"${WEBRTC_DIR}/p2p/base/connection.h" +#"${WEBRTC_DIR}/p2p/base/connection_info.h" +#"${WEBRTC_DIR}/p2p/base/default_ice_transport_factory.h" +#"${WEBRTC_DIR}/p2p/base/dtls_transport.h" +#"${WEBRTC_DIR}/p2p/base/dtls_transport_internal.h" +#"${WEBRTC_DIR}/p2p/base/ice_controller_interface.h" +#"${WEBRTC_DIR}/p2p/base/ice_credentials_iterator.h" +#"${WEBRTC_DIR}/p2p/base/ice_transport_internal.h" +#"${WEBRTC_DIR}/p2p/base/p2p_constants.h" +#"${WEBRTC_DIR}/p2p/base/p2p_transport_channel.h" +#"${WEBRTC_DIR}/p2p/base/packet_transport_internal.h" +#"${WEBRTC_DIR}/p2p/base/port.h" +#"${WEBRTC_DIR}/p2p/base/port_allocator.h" +#"${WEBRTC_DIR}/p2p/base/port_interface.h" +#"${WEBRTC_DIR}/p2p/base/pseudo_tcp.h" +#"${WEBRTC_DIR}/p2p/base/regathering_controller.h" +#"${WEBRTC_DIR}/p2p/base/stun_port.h" +#"${WEBRTC_DIR}/p2p/base/stun_request.h" +#"${WEBRTC_DIR}/p2p/base/stun_server.h" +#"${WEBRTC_DIR}/p2p/base/tcp_port.h" +#"${WEBRTC_DIR}/p2p/base/test_stun_server.h" +#"${WEBRTC_DIR}/p2p/base/transport_description.h" +#"${WEBRTC_DIR}/p2p/base/transport_description_factory.h" +#"${WEBRTC_DIR}/p2p/base/turn_port.h" +#"${WEBRTC_DIR}/p2p/base/turn_server.h" +#"${WEBRTC_DIR}/p2p/client/basic_port_allocator.h" +#"${WEBRTC_DIR}/p2p/client/turn_port_factory.h" +#"${WEBRTC_DIR}/p2p/stunprober/stun_prober.h" +#"${WEBRTC_DIR}/pc/audio_rtp_receiver.h" +#"${WEBRTC_DIR}/pc/audio_track.h" +#"${WEBRTC_DIR}/pc/channel.h" +#"${WEBRTC_DIR}/pc/data_channel_controller.h" +#"${WEBRTC_DIR}/pc/dtls_transport.h" +#"${WEBRTC_DIR}/pc/dtmf_sender.h" +#"${WEBRTC_DIR}/pc/external_hmac.h" +#"${WEBRTC_DIR}/pc/ice_server_parsing.h" +#"${WEBRTC_DIR}/pc/ice_transport.h" +#"${WEBRTC_DIR}/pc/jitter_buffer_delay.h" +#"${WEBRTC_DIR}/pc/jsep_transport.h" +#"${WEBRTC_DIR}/pc/jsep_transport_controller.h" +#"${WEBRTC_DIR}/pc/local_audio_source.h" +#"${WEBRTC_DIR}/pc/media_protocol_names.h" +#"${WEBRTC_DIR}/pc/media_session.h" +#"${WEBRTC_DIR}/pc/media_stream.h" +#"${WEBRTC_DIR}/pc/media_stream_observer.h" +#"${WEBRTC_DIR}/pc/media_stream_track_proxy.h" +#"${WEBRTC_DIR}/pc/media_stream_proxy.h" +#"${WEBRTC_DIR}/pc/peer_connection.h" +#"${WEBRTC_DIR}/pc/peer_connection_factory.h" +#"${WEBRTC_DIR}/pc/proxy.h" +#"${WEBRTC_DIR}/pc/remote_audio_source.h" +#"${WEBRTC_DIR}/pc/rtc_stats_collector.h" +#"${WEBRTC_DIR}/pc/rtc_stats_traversal.h" +#"${WEBRTC_DIR}/pc/rtcp_mux_filter.h" +#"${WEBRTC_DIR}/pc/rtp_media_utils.h" +#"${WEBRTC_DIR}/pc/rtp_parameters_conversion.h" +#"${WEBRTC_DIR}/pc/rtp_receiver.h" +#"${WEBRTC_DIR}/pc/rtp_sender.h" +#"${WEBRTC_DIR}/pc/rtp_receiver_proxy.h" +#"${WEBRTC_DIR}/pc/rtp_sender_proxy.h" +#"${WEBRTC_DIR}/pc/rtp_transceiver.h" +#"${WEBRTC_DIR}/pc/rtp_transport.h" +#"${WEBRTC_DIR}/pc/sctp_transport.h" +#"${WEBRTC_DIR}/pc/sctp_utils.h" +#"${WEBRTC_DIR}/pc/sdp_serializer.h" +#"${WEBRTC_DIR}/pc/sdp_utils.h" +#"${WEBRTC_DIR}/pc/session_description.h" +#"${WEBRTC_DIR}/pc/simulcast_description.h" +#"${WEBRTC_DIR}/pc/srtp_filter.h" +#"${WEBRTC_DIR}/pc/srtp_session.h" +#"${WEBRTC_DIR}/pc/srtp_transport.h" +#"${WEBRTC_DIR}/pc/track_media_info_map.h" +#"${WEBRTC_DIR}/pc/transport_stats.h" +#"${WEBRTC_DIR}/pc/video_rtp_receiver.h" +#"${WEBRTC_DIR}/pc/video_rtp_track_source.h" +#"${WEBRTC_DIR}/pc/video_track.h" +#"${WEBRTC_DIR}/pc/video_track_source.h" +#"${WEBRTC_DIR}/pc/webrtc_sdp.h" +#"${WEBRTC_DIR}/pc/webrtc_session_description_factory.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/g711/g711_interface.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/constants.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/audio_encoder_isac_t.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/bandwidth_info.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lpc_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_lag_tables.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/structs.h" +#"${WEBRTC_DIR}/modules/audio_coding/include/audio_coding_module_typedefs.h" +#"${WEBRTC_DIR}/modules/audio_device/include/audio_device.h" +#"${WEBRTC_DIR}/modules/audio_device/include/audio_device_defines.h" +#"${WEBRTC_DIR}/modules/audio_processing/include/audio_frame_view.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/ns_common.h" +#"${WEBRTC_DIR}/modules/audio_processing/ns/ns_config.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/common.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/transient_suppressor.h" +#"${WEBRTC_DIR}/modules/audio_processing/utility/delay_estimator_internal.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/common.h" +#"${WEBRTC_DIR}/modules/include/module_common_types_public.h" +#"${WEBRTC_DIR}/modules/include/module_fec_types.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/byte_io.h" +#"${WEBRTC_DIR}/modules/video_capture/video_capture.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/h264/include/h264_globals.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264_color_space.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/interface/common_constants.h" +#"${WEBRTC_DIR}/modules/video_coding/include/video_coding.h" +#"${WEBRTC_DIR}/modules/video_coding/internal_defines.h" +#"${WEBRTC_DIR}/api/wrapping_async_dns_resolver.h" +#"${WEBRTC_DIR}/api/array_view.h" +#"${WEBRTC_DIR}/api/async_resolver_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_decoder_factory.h" +#"${WEBRTC_DIR}/api/call/audio_sink.h" +#"${WEBRTC_DIR}/api/call/bitrate_allocation.h" +#"${WEBRTC_DIR}/api/call/call_factory_interface.h" +#"${WEBRTC_DIR}/api/crypto/frame_decryptor_interface.h" +#"${WEBRTC_DIR}/api/dtmf_sender_interface.h" +#"${WEBRTC_DIR}/api/fec_controller.h" +#"${WEBRTC_DIR}/api/fec_controller_override.h" +#"${WEBRTC_DIR}/api/frame_transformer_interface.h" +#"${WEBRTC_DIR}/api/ice_transport_interface.h" +#"${WEBRTC_DIR}/api/network_state_predictor.h" +#"${WEBRTC_DIR}/api/packet_socket_factory.h" +#"${WEBRTC_DIR}/api/rtc_event_log/rtc_event_log_factory_interface.h" +#"${WEBRTC_DIR}/api/rtc_event_log_output.h" +#"${WEBRTC_DIR}/api/test/simulated_network.h" +#"${WEBRTC_DIR}/api/transport/data_channel_transport_interface.h" +#"${WEBRTC_DIR}/api/transport/enums.h" +#"${WEBRTC_DIR}/api/transport/network_control.h" +#"${WEBRTC_DIR}/api/turn_customizer.h" +#"${WEBRTC_DIR}/api/video/video_bitrate_allocator_factory.h" +#"${WEBRTC_DIR}/api/video/video_codec_type.h" +#"${WEBRTC_DIR}/api/video/video_stream_decoder.h" +#"${WEBRTC_DIR}/audio/audio_level.h" +#"${WEBRTC_DIR}/audio/audio_receive_stream.h" +#"${WEBRTC_DIR}/audio/audio_state.h" +#"${WEBRTC_DIR}/audio/audio_transport_impl.h" +#"${WEBRTC_DIR}/audio/channel_receive.h" +#"${WEBRTC_DIR}/audio/channel_send.h" +#"${WEBRTC_DIR}/audio/channel_send_frame_transformer_delegate.h" +#"${WEBRTC_DIR}/audio/utility/channel_mixer.h" +#"${WEBRTC_DIR}/audio/utility/channel_mixing_matrix.h" +#"${WEBRTC_DIR}/audio/voip/audio_egress.h" +#"${WEBRTC_DIR}/p2p/base/ice_controller_factory_interface.h" +#"${WEBRTC_DIR}/rtc_base/bitstream_reader.h" +#"${WEBRTC_DIR}/rtc_base/buffer.h" +#"${WEBRTC_DIR}/rtc_base/compile_assert_c.h" +#"${WEBRTC_DIR}/rtc_base/dscp.h" +#"${WEBRTC_DIR}/rtc_base/gtest_prod_util.h" +#"${WEBRTC_DIR}/rtc_base/http_common.h" +#"${WEBRTC_DIR}/rtc_base/ip_address.h" +#"${WEBRTC_DIR}/rtc_base/numerics/percentile_filter.h" +#"${WEBRTC_DIR}/rtc_base/numerics/safe_conversions_impl.h" +#"${WEBRTC_DIR}/rtc_base/numerics/safe_minmax.h" +#"${WEBRTC_DIR}/rtc_base/ref_counted_object.h" +#"${WEBRTC_DIR}/rtc_base/rolling_accumulator.h" +#"${WEBRTC_DIR}/rtc_base/sanitizer.h" +#"${WEBRTC_DIR}/rtc_base/system/rtc_export_template.h" +#"${WEBRTC_DIR}/rtc_base/system/unused.h" +#"${WEBRTC_DIR}/rtc_base/time_utils.h" +#"${WEBRTC_DIR}/rtc_base/units/unit_base.h" +#"${WEBRTC_DIR}/rtc_base/containers/flat_map.h" +#"${WEBRTC_DIR}/rtc_base/containers/flat_tree.h" +#"${WEBRTC_DIR}/rtc_base/containers/invoke.h" +#"${WEBRTC_DIR}/rtc_base/containers/flat_set.h" +#"${WEBRTC_DIR}/rtc_base/containers/identity.h" +#"${WEBRTC_DIR}/video/adaptation/encode_usage_resource.h" +#"${WEBRTC_DIR}/video/adaptation/overuse_frame_detector.h" +#"${WEBRTC_DIR}/video/encoder_bitrate_adjuster.h" +#"${WEBRTC_DIR}/video/encoder_overshoot_detector.h" +#"${WEBRTC_DIR}/video/encoder_rtcp_feedback.h" +#"${WEBRTC_DIR}/video/frame_dumping_decoder.h" +#"${WEBRTC_DIR}/video/frame_encode_metadata_writer.h" +#"${WEBRTC_DIR}/video/quality_limitation_reason_tracker.h" +#"${WEBRTC_DIR}/video/rtp_video_stream_receiver_frame_transformer_delegate.h" +#"${WEBRTC_DIR}/video/send_delay_stats.h" +#"${WEBRTC_DIR}/video/send_statistics_proxy.h" +#"${WEBRTC_DIR}/video/stream_synchronization.h" +#"${WEBRTC_DIR}/video/transport_adapter.h" +#"${WEBRTC_DIR}/video/video_send_stream_impl.h" +#"${WEBRTC_DIR}/video/video_source_sink_controller.h" +#"${WEBRTC_DIR}/video/video_stream_decoder_impl.h" +#"${WEBRTC_DIR}/call/rtp_packet_sink_interface.h" +#"${WEBRTC_DIR}/call/rtp_stream_receiver_controller_interface.h" +#"${WEBRTC_DIR}/api/audio/echo_control.h" +#"${WEBRTC_DIR}/api/crypto/frame_encryptor_interface.h" +#"${WEBRTC_DIR}/api/crypto_params.h" +#"${WEBRTC_DIR}/api/neteq/neteq_controller_factory.h" +#"${WEBRTC_DIR}/api/transport/rtp/dependency_descriptor.h" +#"${WEBRTC_DIR}/api/video/video_codec_constants.h" +#"${WEBRTC_DIR}/api/video/video_frame_type.h" +#"${WEBRTC_DIR}/api/video/video_sink_interface.h" +#"${WEBRTC_DIR}/audio/audio_send_stream.h" +#"${WEBRTC_DIR}/audio/channel_receive_frame_transformer_delegate.h" +#"${WEBRTC_DIR}/audio/remix_resample.h" +#"${WEBRTC_DIR}/audio/utility/audio_frame_operations.h" +#"${WEBRTC_DIR}/common_audio/fir_filter.h" +#"${WEBRTC_DIR}/common_video/include/quality_limitation_reason.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/abs_quant.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/abs_quant_loop.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/augmented_cb_corr.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/bw_expand.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_mem_energy_calc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_update_best_index.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/chebyshev.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/comp_corr.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/create_augmented_vec.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/enh_upsample.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/gain_dequant.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/gain_quant.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/get_sync_seq.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/init_encode.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lpc_encode.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_enc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_to_lsp.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_to_poly.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/poly_to_lsp.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/refiner.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_lpc_analysis.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_lsf_dequant.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/smooth_out_data.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/sort_sq.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/split_vq.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/state_construct.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/window32_w32.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/xcorr_coef.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/entropy_coding.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/filter_functions.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/opus/opus_inst.h" +#"${WEBRTC_DIR}/modules/audio_mixer/output_rate_calculator.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/fft_data.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/nearend_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/aecm/aecm_defines.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/analog_gain_stats_reporter.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/legacy/gain_control.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/ring_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/noise_gmm_tables.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/delay_increase_detector_interface.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/receive_statistics.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp9/include/vp9_globals.h" +#"${WEBRTC_DIR}/pc/rtp_transport_internal.h" +#"${WEBRTC_DIR}/rtc_base/mdns_responder_interface.h" +#"${WEBRTC_DIR}/rtc_base/numerics/running_statistics.h" +#"${WEBRTC_DIR}/rtc_base/numerics/sequence_number_util.h" +#"${WEBRTC_DIR}/rtc_base/openssl.h" +#"${WEBRTC_DIR}/rtc_base/socket_server.h" +#"${WEBRTC_DIR}/video/adaptation/quality_scaler_resource.h" +#"${WEBRTC_DIR}/video/buffered_frame_decryptor.h" +#"${WEBRTC_DIR}/video/quality_threshold.h" +#"${WEBRTC_DIR}/video/report_block_stats.h" +#"${WEBRTC_DIR}/video/stats_counter.h" +#"${WEBRTC_DIR}/video/video_send_stream.h" +#"${WEBRTC_DIR}/video/video_stream_encoder.h" +#"${WEBRTC_DIR}/rtc_base/socket_factory.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_decoder_factory_template.h" +#"${WEBRTC_DIR}/api/audio_codecs/audio_encoder_factory_template.h" +#"${WEBRTC_DIR}/api/audio_codecs/g722/audio_encoder_g722_config.h" +#"${WEBRTC_DIR}/api/audio_codecs/ilbc/audio_encoder_ilbc_config.h" +#"${WEBRTC_DIR}/api/audio_codecs/opus/audio_decoder_multi_channel_opus_config.h" +#"${WEBRTC_DIR}/api/neteq/neteq_controller.h" +#"${WEBRTC_DIR}/api/neteq/neteq_factory.h" +#"${WEBRTC_DIR}/api/notifier.h" +#"${WEBRTC_DIR}/api/rtp_transceiver_direction.h" +#"${WEBRTC_DIR}/api/stats/rtc_stats_collector_callback.h" +#"${WEBRTC_DIR}/api/transport/rtp/rtp_source.h" +#"${WEBRTC_DIR}/api/video/recordable_encoded_frame.h" +#"${WEBRTC_DIR}/api/video/render_resolution.h" +#"${WEBRTC_DIR}/api/video_codecs/bitstream_parser.h" +#"${WEBRTC_DIR}/api/video_codecs/vp8_frame_buffer_controller.h" +#"${WEBRTC_DIR}/media/base/delayable.h" +#"${WEBRTC_DIR}/media/sctp/sctp_transport_internal.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/decoder_interpolate_lsf.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/encode.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/enhancer.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/filtered_cb_vecs.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/frame_classify.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/get_lsp_poly.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/index_conv_dec.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsp_to_lsf.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/my_corr.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/nearest_neighbor.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/poly_to_lsf.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_interpolate_lsf.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/smooth.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/isac_fix_type.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/isac_float_type.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_filter.h" +#"${WEBRTC_DIR}/modules/audio_device/audio_device_config.h" +#"${WEBRTC_DIR}/modules/audio_device/include/audio_device_default.h" +#"${WEBRTC_DIR}/modules/audio_device/include/audio_device_factory.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/delay_estimate.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/vector_math.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc/gain_control.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/dyadic_decimator.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/windows_private.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/vad_audio_proc_internal.h" +#"${WEBRTC_DIR}/modules/audio_processing/vad/voice_gmm_tables.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/rtcp_statistics.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/rtp_rtcp.h" +#"${WEBRTC_DIR}/modules/video_capture/video_capture_defines.h" +#"${WEBRTC_DIR}/modules/video_coding/fec_rate_table.h" +#"${WEBRTC_DIR}/p2p/base/candidate_pair_interface.h" +#"${WEBRTC_DIR}/rtc_base/ignore_wundef.h" +#"${WEBRTC_DIR}/rtc_base/numerics/math_utils.h" +#"${WEBRTC_DIR}/rtc_base/numerics/mod_ops.h" +#"${WEBRTC_DIR}/rtc_base/socket_adapters.h" +#"${WEBRTC_DIR}/rtc_base/ssl_roots.h" +#"${WEBRTC_DIR}/rtc_base/system/warn_current_thread_is_deadlocked.h" +#"${WEBRTC_DIR}/rtc_base/trace_event.h" +#"${WEBRTC_DIR}/api/audio_codecs/isac/audio_decoder_isac.h" +#"${WEBRTC_DIR}/api/audio_codecs/isac/audio_encoder_isac.h" +#"${WEBRTC_DIR}/api/task_queue/default_task_queue_factory.h" +#"${WEBRTC_DIR}/api/video/video_stream_encoder_settings.h" +#"${WEBRTC_DIR}/call/audio_sender.h" +#"${WEBRTC_DIR}/call/rtp_transport_controller_send_interface.h" +#"${WEBRTC_DIR}/call/rtp_video_sender_interface.h" +#"${WEBRTC_DIR}/call/rtp_transport_config.h" +#"${WEBRTC_DIR}/call/rtp_transport_controller_send_factory.h" +#"${WEBRTC_DIR}/call/rtp_transport_controller_send_factory_interface.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/util/threshold_curve.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_mem_energy.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/do_plc.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/hp_output.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/init_decode.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_lsf_quant.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/state_search.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/audio_decoder_isac_t_impl.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/isac/audio_encoder_isac_t_impl.h" +#"${WEBRTC_DIR}/modules/video_capture/video_capture_config.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/include/vp8.h" +#"${WEBRTC_DIR}/p2p/base/p2p_transport_channel_ice_field_trials.h" +#"${WEBRTC_DIR}/rtc_base/swap_queue.h" +#"${WEBRTC_DIR}/rtc_base/system/ignore_warnings.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/bit_writer.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/rtc_event_log_encoder.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_remote_estimate.h" +#"${WEBRTC_DIR}/system_wrappers/include/clock.h" +#"${WEBRTC_DIR}/system_wrappers/include/cpu_features_wrapper.h" +#"${WEBRTC_DIR}/system_wrappers/include/cpu_info.h" +#"${WEBRTC_DIR}/system_wrappers/include/field_trial.h" +#"${WEBRTC_DIR}/system_wrappers/include/metrics.h" +#"${WEBRTC_DIR}/system_wrappers/include/ntp_time.h" +#"${WEBRTC_DIR}/system_wrappers/include/rtp_to_ntp_estimator.h" +#"${WEBRTC_DIR}/system_wrappers/include/sleep.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/include/vp8_globals.h" +#"${WEBRTC_DIR}/p2p/client/relay_port_factory_interface.h" +#"${WEBRTC_DIR}/media/base/audio_source.h" +#"${WEBRTC_DIR}/media/base/media_config.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_fec_generator.h" +#"${WEBRTC_DIR}/api/set_remote_description_observer_interface.h" +#"${WEBRTC_DIR}/pc/channel_interface.h" +#"${WEBRTC_DIR}/call/packet_receiver.h" +#"${WEBRTC_DIR}/p2p/base/transport_info.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/rtp_packet_sender.h" +#"${WEBRTC_DIR}/rtc_base/numerics/moving_max_counter.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/enhancer_interface.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/include/rtp_cvo.h" +#"${WEBRTC_DIR}/call/simulated_packet_receiver.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_search.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/decode.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/interpolate_samples.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_check.h" +#"${WEBRTC_DIR}/modules/audio_processing/render_queue_item_verifier.h" +#"${WEBRTC_DIR}/modules/pacing/rtp_packet_pacer.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_rtcp_config.h" +#"${WEBRTC_DIR}/modules/video_coding/jitter_buffer_common.h" +#"${WEBRTC_DIR}/p2p/base/dtls_transport_factory.h" +#"${WEBRTC_DIR}/p2p/base/udp_port.h" +#"${WEBRTC_DIR}/pc/peer_connection_internal.h" +#"${WEBRTC_DIR}/pc/peer_connection_factory_proxy.h" +#"${WEBRTC_DIR}/pc/peer_connection_proxy.h" +#"${WEBRTC_DIR}/pc/used_ids.h" +#"${WEBRTC_DIR}/rtc_base/numerics/divide_round.h" +#"${WEBRTC_DIR}/rtc_base/one_time_event.h" +#"${WEBRTC_DIR}/audio/conversion.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_mem_energy_augmentation.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/unpack_bits.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/index_conv_enc.h" +#"${WEBRTC_DIR}/pc/stream_collection.h" +#"${WEBRTC_DIR}/api/uma_metrics.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_search_core.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/pack_bits.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/swap_bytes.h" +#"${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/hp_input.h" +#"${WEBRTC_DIR}/api/adaptation/resource.h" +#"${WEBRTC_DIR}/api/audio/audio_frame_processor.h" +#"${WEBRTC_DIR}/api/media_stream_track.h" +#"${WEBRTC_DIR}/api/numerics/samples_stats_counter.h" +#"${WEBRTC_DIR}/api/priority.h" +#"${WEBRTC_DIR}/api/transport/sctp_transport_factory_interface.h" +#"${WEBRTC_DIR}/api/video/video_adaptation_reason.h" +#"${WEBRTC_DIR}/api/video_codecs/spatial_layer.h" +#"${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_128/ooura_fft.h" +#"${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_256/fft4g.h" +#"${WEBRTC_DIR}/common_video/include/video_frame_buffer_pool.h" +#"${WEBRTC_DIR}/modules/async_audio_processing/async_audio_processing.h" +#"${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/frame_length_controller_v2.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/transparent_mode.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/cpu_features.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/inter_arrival_delta.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_rtcp_interface.h" +#"${WEBRTC_DIR}/rtc_base/boringssl_identity.h" +#"${WEBRTC_DIR}/rtc_base/network_monitor_factory.h" +#"${WEBRTC_DIR}/rtc_base/openssl_key_pair.h" +#"${WEBRTC_DIR}/rtc_base/synchronization/mutex.h" +#"${WEBRTC_DIR}/rtc_base/synchronization/mutex_critical_section.h" +#"${WEBRTC_DIR}/rtc_base/synchronization/mutex_pthread.h" +#"${WEBRTC_DIR}/rtc_base/deprecated/recursive_critical_section.h" +#"${WEBRTC_DIR}/api/video/video_frame_metadata.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_rtcp_impl2.h" +#"${WEBRTC_DIR}/api/set_local_description_observer_interface.h" +#"${WEBRTC_DIR}/common_video/frame_counts.h" +#"${WEBRTC_DIR}/rtc_base/system/no_unique_address.h" +#"${WEBRTC_DIR}/api/video/nv12_buffer.h" +#"${WEBRTC_DIR}/api/video/video_adaptation_counters.h" +#"${WEBRTC_DIR}/api/video/video_layers_allocation.h" +#"${WEBRTC_DIR}/call/adaptation/degradation_preference_provider.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/rnn_fc.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.h" +#"${WEBRTC_DIR}/modules/video_coding/chain_diff_calculator.h" +#"${WEBRTC_DIR}/modules/video_coding/rtp_frame_id_only_ref_finder.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalable_video_controller.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalable_video_controller_no_layering.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/create_scalability_structure.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/svc_rate_allocator.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_l2t2_key_shift.h" +#"${WEBRTC_DIR}/pc/connection_context.h" +#"${WEBRTC_DIR}/pc/data_channel_utils.h" +#"${WEBRTC_DIR}/rtc_base/boringssl_certificate.h" +#"${WEBRTC_DIR}/rtc_base/strings/string_format.h" +#"${WEBRTC_DIR}/call/adaptation/adaptation_constraint.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/vector_math.h" +#"${WEBRTC_DIR}/modules/audio_processing/optionally_built_submodule_creators.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/active_decode_targets_helper.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/deprecated/deprecated_rtp_sender_egress.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/interface/libvpx_interface.h" +#"${WEBRTC_DIR}/modules/video_coding/rtp_generic_ref_finder.h" +#"${WEBRTC_DIR}/pc/sctp_data_channel.h" +#"${WEBRTC_DIR}/rtc_base/callback_list.h" +#"${WEBRTC_DIR}/call/adaptation/broadcast_resource_listener.h" +#"${WEBRTC_DIR}/call/adaptation/video_stream_input_state.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/rnn_gru.h" +#"${WEBRTC_DIR}/pc/sdp_state_provider.h" +#"${WEBRTC_DIR}/video/adaptation/video_stream_encoder_resource.h" +#"${WEBRTC_DIR}/call/adaptation/resource_adaptation_processor.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp9/libvpx_vp9_decoder.h" +#"${WEBRTC_DIR}/rtc_base/system/assume.h" +#"${WEBRTC_DIR}/rtc_base/untyped_function.h" +#"${WEBRTC_DIR}/call/adaptation/video_stream_adapter.h" +#"${WEBRTC_DIR}/modules/video_coding/rtp_seq_num_only_ref_finder.h" +#"${WEBRTC_DIR}/modules/video_coding/rtp_vp8_ref_finder.h" +#"${WEBRTC_DIR}/call/adaptation/video_stream_input_state_provider.h" +#"${WEBRTC_DIR}/pc/peer_connection_message_handler.h" +#"${WEBRTC_DIR}/video/adaptation/video_stream_encoder_resource_manager.h" +#"${WEBRTC_DIR}/pc/rtp_transmission_manager.h" +#"${WEBRTC_DIR}/video/adaptation/balanced_constraint.h" +#"${WEBRTC_DIR}/pc/transceiver_list.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/av1/av1_svc_config.h" +#"${WEBRTC_DIR}/call/version.h" +#"${WEBRTC_DIR}/modules/video_coding/rtp_vp9_ref_finder.h" +#"${WEBRTC_DIR}/video/adaptation/bitrate_constraint.h" +#"${WEBRTC_DIR}/video/adaptation/pixel_limit_resource.h" +#"${WEBRTC_DIR}/pc/usage_pattern.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.h" +#"${WEBRTC_DIR}/pc/sdp_offer_answer.h" +#"${WEBRTC_DIR}/video/adaptation/quality_rampup_experiment_helper.h" +#"${WEBRTC_DIR}/video/call_stats2.h" +#"${WEBRTC_DIR}/video/alignment_adjuster.h" +#"${WEBRTC_DIR}/video/video_receive_stream2.h" +#"${WEBRTC_DIR}/video/receive_statistics_proxy2.h" +#"${WEBRTC_DIR}/video/video_quality_observer2.h" +#"${WEBRTC_DIR}/video/rtp_streams_synchronizer2.h" +#"${WEBRTC_DIR}/video/rtp_video_stream_receiver2.h" +#"${WEBRTC_DIR}/video/video_stream_decoder2.h" +#"${WEBRTC_DIR}/api/sequence_checker.h" +#"${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_common.h" +#"${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_128/ooura_fft_tables_neon_sse2.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/packet_sequencer.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_full_svc.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_key_svc.h" +#"${WEBRTC_DIR}/rtc_base/async_resolver.h" +#"${WEBRTC_DIR}/rtc_base/experiments/bandwidth_quality_scaler_settings.h" +#"${WEBRTC_DIR}/rtc_base/experiments/encoder_info_settings.h" +#"${WEBRTC_DIR}/rtc_base/system_time.h" +#"${WEBRTC_DIR}/rtc_base/synchronization/sequence_checker_internal.h" +#"${WEBRTC_DIR}/rtc_base/internal/default_socket_server.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_simulcast.h" +#"${WEBRTC_DIR}/api/async_dns_resolver.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/qp_parser.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/adaptive_digital_gain_controller.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/vad_wrapper.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/saturation_protector_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/capture_levels_adjuster/capture_levels_adjuster.h" +#"${WEBRTC_DIR}/modules/audio_processing/capture_levels_adjuster/audio_samples_scaler.h" +#"${WEBRTC_DIR}/rtc_base/system/gcd_helpers.h" +#"${WEBRTC_DIR}/rtc_base/system/gcd_helpers.m" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_util.h" +#"${WEBRTC_DIR}/pc/jsep_transport_collection.h" +#"${WEBRTC_DIR}/modules/video_coding/nack_requester.h" +#"${WEBRTC_DIR}/modules/congestion_controller/remb_throttler.h" +#"${WEBRTC_DIR}/modules/congestion_controller/goog_cc/loss_based_bwe_v2.h" +#"${WEBRTC_DIR}/system_wrappers/include/denormal_disabler.h" +#"${WEBRTC_DIR}/api/video_codecs/vp9_profile.h" +#"${WEBRTC_DIR}/api/video_codecs/h264_profile_level_id.h" +#"${WEBRTC_DIR}/api/video_track_source_proxy_factory.h" +#"${WEBRTC_DIR}/modules/remote_bitrate_estimator/packet_arrival_map.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/capture_clock_offset_updater.h" +#"${WEBRTC_DIR}/pc/video_track_source_proxy.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/absolute_capture_time_interpolator.h" +#"${WEBRTC_DIR}/media/base/sdp_video_format_utils.h" +#"${WEBRTC_DIR}/media/sctp/sctp_transport_factory.h" +#"${WEBRTC_DIR}/media/sctp/dcsctp_transport.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/framerate_controller_deprecated.h" +#"${WEBRTC_DIR}/common_video/h265/legacy_bit_buffer.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/h265/include/h265_globals.h" +#"${WEBRTC_DIR}/video/frame_cadence_adapter.h" +#"${WEBRTC_DIR}/common_video/h265/h265_common.h" +#"${WEBRTC_DIR}/modules/video_coding/h265_vps_sps_pps_tracker.h" +#"${WEBRTC_DIR}/common_video/h265/h265_pps_parser.h" +#"${WEBRTC_DIR}/common_video/h265/h265_bitstream_parser.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.h" +#"${WEBRTC_DIR}/common_video/h265/h265_sps_parser.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_h265.h" +#"${WEBRTC_DIR}/common_video/h265/h265_vps_parser.h" +#"${WEBRTC_DIR}/rtc_base/strong_alias.h" +#"${WEBRTC_DIR}/api/video/i444_buffer.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_field_encoding_parser.h" +#"${WEBRTC_DIR}/video/decode_synchronizer.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/fixed_length_encoding_parameters_v3.h" +#"${WEBRTC_DIR}/video/frame_decode_timing.h" +#"${WEBRTC_DIR}/modules/video_coding/frame_helpers.h" +#"${WEBRTC_DIR}/video/task_queue_frame_decode_scheduler.h" +#"${WEBRTC_DIR}/video/video_receive_stream_timeout_tracker.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_field_encoding.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_field_extraction.h" +#"${WEBRTC_DIR}/api/metronome/metronome.h" +#"${WEBRTC_DIR}/api/webrtc_key_value_config.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/logged_rtp_rtcp.h" +#"${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_definition.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/ivf_defines.h" +#"${WEBRTC_DIR}/video/frame_decode_scheduler.h" +#"${WEBRTC_DIR}/api/field_trials_view.h" +#"${WEBRTC_DIR}/api/make_ref_counted.h" +#"${WEBRTC_DIR}/api/task_queue/pending_task_safety_flag.h" +#"${WEBRTC_DIR}/api/video/frame_buffer.h" +#"${WEBRTC_DIR}/api/video/i210_buffer.h" +#"${WEBRTC_DIR}/api/video/i422_buffer.h" +#"${WEBRTC_DIR}/api/video/resolution.h" +#"${WEBRTC_DIR}/api/video_codecs/av1_profile.h" +#"${WEBRTC_DIR}/api/video_codecs/scalability_mode.h" +#"${WEBRTC_DIR}/modules/audio_coding/neteq/packet_arrival_history.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/block.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/config_selector.h" +#"${WEBRTC_DIR}/modules/audio_processing/aec3/multi_channel_content_detector.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/clipping_predictor.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/clipping_predictor_level_buffer.h" +#"${WEBRTC_DIR}/modules/audio_processing/transient/voice_probability_delay_unit.h" +#"${WEBRTC_DIR}/modules/pacing/prioritized_packet_queue.h" +#"${WEBRTC_DIR}/modules/rtp_rtcp/source/ulpfec_receiver.h" +#"${WEBRTC_DIR}/modules/utility/maybe_worker_thread.h" +#"${WEBRTC_DIR}/modules/video_coding/codecs/vp8/vp8_scalability.h" +#"${WEBRTC_DIR}/modules/video_coding/svc/scalability_mode_util.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/codec_timer.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/frame_delay_variation_kalman_filter.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/inter_frame_delay.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/jitter_estimator.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/rtt_filter.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/timestamp_extrapolator.h" +#"${WEBRTC_DIR}/modules/video_coding/timing/timing.h" +#"${WEBRTC_DIR}/video/config/encoder_stream_factory.h" +#"${WEBRTC_DIR}/video/config/simulcast.h" +#"${WEBRTC_DIR}/video/config/video_encoder_config.h" +#"${WEBRTC_DIR}/video/render/incoming_video_stream.h" +#"${WEBRTC_DIR}/video/render/video_render_frames.h" +#"${WEBRTC_DIR}/video/unique_timestamp_counter.h" +#"${WEBRTC_DIR}/video/video_stream_buffer_controller.h" +#"${WEBRTC_DIR}/api/video_codecs/simulcast_stream.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder_factory_template.h" +#"${WEBRTC_DIR}/modules/audio_processing/agc2/gain_map_internal.h" +#"${WEBRTC_DIR}/p2p/base/ice_switch_reason.h" +#"${WEBRTC_DIR}/p2p/base/wrapping_active_ice_controller.h" +#"${WEBRTC_DIR}/pc/legacy_stats_collector.h" +#"${WEBRTC_DIR}/rtc_base/numerics/moving_percentile_filter.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" +#"${WEBRTC_DIR}/modules/video_coding/utility/vp8_constants.h" +#"${WEBRTC_DIR}/p2p/base/active_ice_controller_factory_interface.h" +#"${WEBRTC_DIR}/p2p/base/active_ice_controller_interface.h" +#"${WEBRTC_DIR}/pc/legacy_stats_collector_interface.h" +#"${WEBRTC_DIR}/rtc_base/memory/always_valid_pointer.h" +#"${WEBRTC_DIR}/video/video_stream_encoder_interface.h" +#"${WEBRTC_DIR}/video/video_stream_encoder_observer.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" +#"${WEBRTC_DIR}/p2p/base/ice_agent_interface.h" +#"${WEBRTC_DIR}/api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" + +# ignored iOS-specific: +# "${WEBRTC_DIR}/rtc_base/task_queue_gcd.cc" + +add_library(webrtc STATIC + "${THIRDPARTY_DIR}/rnnoise/src/rnn_vad_weights.cc" + + "${THIRDPARTY_DIR}/pffft/src/fftpack.c" + "${THIRDPARTY_DIR}/pffft/src/pffft.c" + + "${WEBRTC_DIR}/rtc_base/async_packet_socket.cc" + "${WEBRTC_DIR}/rtc_base/async_resolver_interface.cc" + "${WEBRTC_DIR}/rtc_base/async_socket.cc" + "${WEBRTC_DIR}/rtc_base/async_tcp_socket.cc" + "${WEBRTC_DIR}/rtc_base/async_udp_socket.cc" + "${WEBRTC_DIR}/rtc_base/bit_buffer.cc" + "${WEBRTC_DIR}/rtc_base/buffer_queue.cc" + "${WEBRTC_DIR}/rtc_base/byte_buffer.cc" + "${WEBRTC_DIR}/rtc_base/checks.cc" + "${WEBRTC_DIR}/rtc_base/copy_on_write_buffer.cc" + "${WEBRTC_DIR}/rtc_base/crc32.cc" + "${WEBRTC_DIR}/rtc_base/crypt_string.cc" + "${WEBRTC_DIR}/rtc_base/data_rate_limiter.cc" + "${WEBRTC_DIR}/rtc_base/event.cc" + "${WEBRTC_DIR}/rtc_base/event_tracer.cc" + "${WEBRTC_DIR}/rtc_base/experiments/alr_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/balanced_degradation_settings.cc" + "${WEBRTC_DIR}/rtc_base/experiments/cpu_speed_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/field_trial_list.cc" + "${WEBRTC_DIR}/rtc_base/experiments/field_trial_parser.cc" + "${WEBRTC_DIR}/rtc_base/experiments/field_trial_units.cc" + "${WEBRTC_DIR}/rtc_base/experiments/keyframe_interval_settings.cc" + "${WEBRTC_DIR}/rtc_base/experiments/min_video_bitrate_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/normalize_simulcast_size_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/quality_rampup_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/quality_scaler_settings.cc" + "${WEBRTC_DIR}/rtc_base/experiments/quality_scaling_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/rate_control_settings.cc" + "${WEBRTC_DIR}/rtc_base/experiments/rtt_mult_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/stable_target_rate_experiment.cc" + "${WEBRTC_DIR}/rtc_base/experiments/struct_parameters_parser.cc" + "${WEBRTC_DIR}/rtc_base/file_rotating_stream.cc" + "${WEBRTC_DIR}/rtc_base/helpers.cc" + "${WEBRTC_DIR}/rtc_base/http_common.cc" + "${WEBRTC_DIR}/rtc_base/ifaddrs_android.cc" + "${WEBRTC_DIR}/rtc_base/ifaddrs_converter.cc" + "${WEBRTC_DIR}/rtc_base/ip_address.cc" + "${WEBRTC_DIR}/rtc_base/log_sinks.cc" + "${WEBRTC_DIR}/rtc_base/logging.cc" + "${WEBRTC_DIR}/rtc_base/memory/aligned_malloc.cc" + "${WEBRTC_DIR}/rtc_base/memory/fifo_buffer.cc" + "${WEBRTC_DIR}/rtc_base/message_digest.cc" + "${WEBRTC_DIR}/rtc_base/net_helper.cc" + "${WEBRTC_DIR}/rtc_base/net_helpers.cc" + "${WEBRTC_DIR}/rtc_base/network.cc" + "${WEBRTC_DIR}/rtc_base/network/sent_packet.cc" + "${WEBRTC_DIR}/rtc_base/network_constants.cc" + "${WEBRTC_DIR}/rtc_base/network_monitor.cc" + "${WEBRTC_DIR}/rtc_base/network_route.cc" + "${WEBRTC_DIR}/rtc_base/null_socket_server.cc" + "${WEBRTC_DIR}/rtc_base/numerics/event_based_exponential_moving_average.cc" + "${WEBRTC_DIR}/rtc_base/numerics/event_rate_counter.cc" + "${WEBRTC_DIR}/rtc_base/numerics/exp_filter.cc" + "${WEBRTC_DIR}/rtc_base/numerics/histogram_percentile_counter.cc" + "${WEBRTC_DIR}/rtc_base/numerics/moving_average.cc" + "${WEBRTC_DIR}/rtc_base/numerics/sample_counter.cc" + "${WEBRTC_DIR}/rtc_base/numerics/sample_stats.cc" + "${WEBRTC_DIR}/rtc_base/openssl_adapter.cc" + "${WEBRTC_DIR}/rtc_base/openssl_certificate.cc" + "${WEBRTC_DIR}/rtc_base/openssl_digest.cc" + "${WEBRTC_DIR}/rtc_base/openssl_identity.cc" + "${WEBRTC_DIR}/rtc_base/openssl_session_cache.cc" + "${WEBRTC_DIR}/rtc_base/openssl_stream_adapter.cc" + "${WEBRTC_DIR}/rtc_base/openssl_utility.cc" + "${WEBRTC_DIR}/rtc_base/operations_chain.cc" + "${WEBRTC_DIR}/rtc_base/physical_socket_server.cc" + "${WEBRTC_DIR}/rtc_base/platform_thread.cc" + "${WEBRTC_DIR}/rtc_base/platform_thread_types.cc" + "${WEBRTC_DIR}/rtc_base/proxy_info.cc" + "${WEBRTC_DIR}/rtc_base/race_checker.cc" + "${WEBRTC_DIR}/rtc_base/random.cc" + "${WEBRTC_DIR}/rtc_base/rate_limiter.cc" + "${WEBRTC_DIR}/rtc_base/rate_statistics.cc" + "${WEBRTC_DIR}/rtc_base/rate_tracker.cc" + "${WEBRTC_DIR}/rtc_base/rtc_certificate.cc" + "${WEBRTC_DIR}/rtc_base/rtc_certificate_generator.cc" + "${WEBRTC_DIR}/rtc_base/socket.cc" + "${WEBRTC_DIR}/rtc_base/socket_adapters.cc" + "${WEBRTC_DIR}/rtc_base/socket_address.cc" + "${WEBRTC_DIR}/rtc_base/socket_address_pair.cc" + "${WEBRTC_DIR}/rtc_base/ssl_adapter.cc" + "${WEBRTC_DIR}/rtc_base/ssl_certificate.cc" + "${WEBRTC_DIR}/rtc_base/ssl_fingerprint.cc" + "${WEBRTC_DIR}/rtc_base/ssl_identity.cc" + "${WEBRTC_DIR}/rtc_base/ssl_stream_adapter.cc" + "${WEBRTC_DIR}/rtc_base/stream.cc" + "${WEBRTC_DIR}/rtc_base/string_encode.cc" + "${WEBRTC_DIR}/rtc_base/string_to_number.cc" + "${WEBRTC_DIR}/rtc_base/string_utils.cc" + "${WEBRTC_DIR}/rtc_base/strings/audio_format_to_string.cc" + "${WEBRTC_DIR}/rtc_base/strings/string_builder.cc" + "${WEBRTC_DIR}/rtc_base/synchronization/yield_policy.cc" + "${WEBRTC_DIR}/rtc_base/synchronization/yield.cc" + "${WEBRTC_DIR}/rtc_base/system/file_wrapper.cc" + "${WEBRTC_DIR}/rtc_base/task_queue.cc" + "${WEBRTC_DIR}/rtc_base/task_utils/repeating_task.cc" + "${WEBRTC_DIR}/rtc_base/third_party/base64/base64.cc" + "${WEBRTC_DIR}/rtc_base/third_party/sigslot/sigslot.cc" + "${WEBRTC_DIR}/rtc_base/thread.cc" + "${WEBRTC_DIR}/rtc_base/time_utils.cc" + "${WEBRTC_DIR}/rtc_base/timestamp_aligner.cc" + "${WEBRTC_DIR}/rtc_base/unique_id_generator.cc" + "${WEBRTC_DIR}/rtc_base/weak_ptr.cc" + "${WEBRTC_DIR}/rtc_base/zero_memory.cc" + "${WEBRTC_DIR}/api/audio/audio_frame.cc" + "${WEBRTC_DIR}/api/audio/channel_layout.cc" + "${WEBRTC_DIR}/api/audio/echo_canceller3_config.cc" + "${WEBRTC_DIR}/api/audio/echo_canceller3_factory.cc" + "${WEBRTC_DIR}/api/audio_codecs/L16/audio_decoder_L16.cc" + "${WEBRTC_DIR}/api/audio_codecs/L16/audio_encoder_L16.cc" + "${WEBRTC_DIR}/api/audio_codecs/audio_codec_pair_id.cc" + "${WEBRTC_DIR}/api/audio_codecs/audio_decoder.cc" + "${WEBRTC_DIR}/api/audio_codecs/audio_encoder.cc" + "${WEBRTC_DIR}/api/audio_codecs/audio_format.cc" + "${WEBRTC_DIR}/api/audio_codecs/builtin_audio_decoder_factory.cc" + "${WEBRTC_DIR}/api/audio_codecs/builtin_audio_encoder_factory.cc" + "${WEBRTC_DIR}/api/audio_codecs/g711/audio_decoder_g711.cc" + "${WEBRTC_DIR}/api/audio_codecs/g711/audio_encoder_g711.cc" + "${WEBRTC_DIR}/api/audio_codecs/g722/audio_decoder_g722.cc" + "${WEBRTC_DIR}/api/audio_codecs/g722/audio_encoder_g722.cc" + "${WEBRTC_DIR}/api/audio_codecs/ilbc/audio_decoder_ilbc.cc" + "${WEBRTC_DIR}/api/audio_codecs/ilbc/audio_encoder_ilbc.cc" + "${WEBRTC_DIR}/api/audio_codecs/isac/audio_decoder_isac_fix.cc" + "${WEBRTC_DIR}/api/audio_codecs/isac/audio_decoder_isac_float.cc" + "${WEBRTC_DIR}/api/audio_codecs/isac/audio_encoder_isac_fix.cc" + "${WEBRTC_DIR}/api/audio_codecs/isac/audio_encoder_isac_float.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus/audio_decoder_opus.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_opus.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus/audio_encoder_opus_config.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus_audio_decoder_factory.cc" + "${WEBRTC_DIR}/api/audio_codecs/opus_audio_encoder_factory.cc" + "${WEBRTC_DIR}/api/audio_options.cc" + "${WEBRTC_DIR}/api/call/transport.cc" + "${WEBRTC_DIR}/api/candidate.cc" + "${WEBRTC_DIR}/api/create_peerconnection_factory.cc" + "${WEBRTC_DIR}/api/crypto/crypto_options.cc" + "${WEBRTC_DIR}/api/data_channel_interface.cc" + "${WEBRTC_DIR}/api/dtls_transport_interface.cc" + "${WEBRTC_DIR}/api/ice_transport_factory.cc" + "${WEBRTC_DIR}/api/jsep.cc" + "${WEBRTC_DIR}/api/jsep_ice_candidate.cc" + "${WEBRTC_DIR}/api/media_stream_interface.cc" + "${WEBRTC_DIR}/api/media_types.cc" + "${WEBRTC_DIR}/api/neteq/custom_neteq_factory.cc" + "${WEBRTC_DIR}/api/neteq/default_neteq_controller_factory.cc" + "${WEBRTC_DIR}/api/neteq/neteq.cc" + "${WEBRTC_DIR}/api/neteq/tick_timer.cc" + "${WEBRTC_DIR}/api/peer_connection_interface.cc" + "${WEBRTC_DIR}/api/rtc_error.cc" + "${WEBRTC_DIR}/api/rtc_event_log/rtc_event.cc" + "${WEBRTC_DIR}/api/rtc_event_log/rtc_event_log.cc" + "${WEBRTC_DIR}/api/rtc_event_log/rtc_event_log_factory.cc" + "${WEBRTC_DIR}/api/rtc_event_log_output_file.cc" + "${WEBRTC_DIR}/api/rtp_headers.cc" + "${WEBRTC_DIR}/api/rtp_packet_info.cc" + "${WEBRTC_DIR}/api/rtp_parameters.cc" + "${WEBRTC_DIR}/api/rtp_receiver_interface.cc" + "${WEBRTC_DIR}/api/rtp_transceiver_interface.cc" + "${WEBRTC_DIR}/api/sctp_transport_interface.cc" + "${WEBRTC_DIR}/api/stats_types.cc" + "${WEBRTC_DIR}/api/task_queue/default_task_queue_factory_gcd.cc" + "${WEBRTC_DIR}/api/task_queue/task_queue_base.cc" + "${WEBRTC_DIR}/api/transport/bitrate_settings.cc" + "${WEBRTC_DIR}/api/transport/field_trial_based_config.cc" + "${WEBRTC_DIR}/api/transport/goog_cc_factory.cc" + "${WEBRTC_DIR}/api/transport/network_types.cc" + "${WEBRTC_DIR}/api/transport/stun.cc" + "${WEBRTC_DIR}/api/units/data_rate.cc" + "${WEBRTC_DIR}/api/units/data_size.cc" + "${WEBRTC_DIR}/api/units/frequency.cc" + "${WEBRTC_DIR}/api/units/time_delta.cc" + "${WEBRTC_DIR}/api/units/timestamp.cc" + "${WEBRTC_DIR}/api/video/builtin_video_bitrate_allocator_factory.cc" + "${WEBRTC_DIR}/api/video/color_space.cc" + "${WEBRTC_DIR}/api/video/encoded_frame.cc" + "${WEBRTC_DIR}/api/video/encoded_image.cc" + "${WEBRTC_DIR}/api/video/hdr_metadata.cc" + "${WEBRTC_DIR}/api/video/i010_buffer.cc" + "${WEBRTC_DIR}/api/video/i420_buffer.cc" + "${WEBRTC_DIR}/api/video/video_bitrate_allocation.cc" + "${WEBRTC_DIR}/api/video/video_bitrate_allocator.cc" + "${WEBRTC_DIR}/api/video/video_content_type.cc" + "${WEBRTC_DIR}/api/video/video_frame.cc" + "${WEBRTC_DIR}/api/video/video_frame_buffer.cc" + "${WEBRTC_DIR}/api/video/video_source_interface.cc" + "${WEBRTC_DIR}/api/video/video_stream_decoder_create.cc" + "${WEBRTC_DIR}/api/video/video_timing.cc" + "${WEBRTC_DIR}/api/video_codecs/builtin_video_decoder_factory.cc" + "${WEBRTC_DIR}/api/video_codecs/builtin_video_encoder_factory.cc" + "${WEBRTC_DIR}/api/video_codecs/sdp_video_format.cc" + "${WEBRTC_DIR}/api/video_codecs/video_codec.cc" + "${WEBRTC_DIR}/api/video_codecs/video_decoder.cc" + "${WEBRTC_DIR}/api/video_codecs/video_decoder_software_fallback_wrapper.cc" + "${WEBRTC_DIR}/api/video_codecs/video_encoder.cc" + "${WEBRTC_DIR}/api/video_codecs/video_encoder_software_fallback_wrapper.cc" + "${WEBRTC_DIR}/api/video_codecs/vp8_frame_config.cc" + "${WEBRTC_DIR}/api/video_codecs/vp8_temporal_layers.cc" + "${WEBRTC_DIR}/api/video_codecs/vp8_temporal_layers_factory.cc" + "${WEBRTC_DIR}/pc/audio_rtp_receiver.cc" + "${WEBRTC_DIR}/pc/audio_track.cc" + "${WEBRTC_DIR}/pc/channel.cc" + "${WEBRTC_DIR}/pc/data_channel_controller.cc" + "${WEBRTC_DIR}/pc/dtls_srtp_transport.cc" + "${WEBRTC_DIR}/pc/dtls_transport.cc" + "${WEBRTC_DIR}/pc/dtmf_sender.cc" + "${WEBRTC_DIR}/pc/external_hmac.cc" + "${WEBRTC_DIR}/pc/ice_server_parsing.cc" + "${WEBRTC_DIR}/pc/ice_transport.cc" + "${WEBRTC_DIR}/pc/jitter_buffer_delay.cc" + "${WEBRTC_DIR}/pc/jsep_ice_candidate.cc" + "${WEBRTC_DIR}/pc/jsep_session_description.cc" + "${WEBRTC_DIR}/pc/jsep_transport.cc" + "${WEBRTC_DIR}/pc/jsep_transport_controller.cc" + "${WEBRTC_DIR}/pc/local_audio_source.cc" + "${WEBRTC_DIR}/pc/media_protocol_names.cc" + "${WEBRTC_DIR}/pc/media_session.cc" + "${WEBRTC_DIR}/pc/media_stream.cc" + "${WEBRTC_DIR}/pc/media_stream_observer.cc" + "${WEBRTC_DIR}/pc/peer_connection.cc" + "${WEBRTC_DIR}/pc/peer_connection_factory.cc" + "${WEBRTC_DIR}/pc/remote_audio_source.cc" + "${WEBRTC_DIR}/pc/rtc_stats_collector.cc" + "${WEBRTC_DIR}/pc/rtc_stats_traversal.cc" + "${WEBRTC_DIR}/pc/rtcp_mux_filter.cc" + "${WEBRTC_DIR}/pc/rtp_media_utils.cc" + "${WEBRTC_DIR}/pc/rtp_parameters_conversion.cc" + "${WEBRTC_DIR}/pc/rtp_receiver.cc" + "${WEBRTC_DIR}/pc/rtp_sender.cc" + "${WEBRTC_DIR}/pc/rtp_transceiver.cc" + "${WEBRTC_DIR}/pc/rtp_transport.cc" + "${WEBRTC_DIR}/pc/sctp_transport.cc" + "${WEBRTC_DIR}/pc/sctp_utils.cc" + "${WEBRTC_DIR}/pc/sdp_serializer.cc" + "${WEBRTC_DIR}/pc/sdp_utils.cc" + "${WEBRTC_DIR}/pc/session_description.cc" + "${WEBRTC_DIR}/pc/simulcast_description.cc" + "${WEBRTC_DIR}/pc/srtp_filter.cc" + "${WEBRTC_DIR}/pc/srtp_session.cc" + "${WEBRTC_DIR}/pc/srtp_transport.cc" + "${WEBRTC_DIR}/pc/track_media_info_map.cc" + "${WEBRTC_DIR}/pc/transport_stats.cc" + "${WEBRTC_DIR}/pc/video_rtp_receiver.cc" + "${WEBRTC_DIR}/pc/video_rtp_track_source.cc" + "${WEBRTC_DIR}/pc/video_track.cc" + "${WEBRTC_DIR}/pc/video_track_source.cc" + "${WEBRTC_DIR}/pc/webrtc_sdp.cc" + "${WEBRTC_DIR}/pc/webrtc_session_description_factory.cc" + "${WEBRTC_DIR}/media/base/adapted_video_track_source.cc" + "${WEBRTC_DIR}/media/base/codec.cc" + "${WEBRTC_DIR}/media/base/media_channel.cc" + "${WEBRTC_DIR}/media/base/media_constants.cc" + "${WEBRTC_DIR}/media/base/media_engine.cc" + "${WEBRTC_DIR}/media/base/rid_description.cc" + "${WEBRTC_DIR}/media/base/rtp_utils.cc" + "${WEBRTC_DIR}/media/base/stream_params.cc" + "${WEBRTC_DIR}/media/base/turn_utils.cc" + "${WEBRTC_DIR}/media/base/video_adapter.cc" + "${WEBRTC_DIR}/media/base/video_broadcaster.cc" + "${WEBRTC_DIR}/media/base/video_common.cc" + "${WEBRTC_DIR}/media/base/video_source_base.cc" + "${WEBRTC_DIR}/media/engine/adm_helpers.cc" + "${WEBRTC_DIR}/media/engine/encoder_simulcast_proxy.cc" + "${WEBRTC_DIR}/media/engine/internal_decoder_factory.cc" + "${WEBRTC_DIR}/media/engine/internal_encoder_factory.cc" + "${WEBRTC_DIR}/media/engine/multiplex_codec_factory.cc" + "${WEBRTC_DIR}/media/engine/payload_type_mapper.cc" + "${WEBRTC_DIR}/media/engine/simulcast_encoder_adapter.cc" + "${WEBRTC_DIR}/media/engine/unhandled_packets_buffer.cc" + "${WEBRTC_DIR}/media/engine/webrtc_media_engine.cc" + "${WEBRTC_DIR}/media/engine/webrtc_media_engine_defaults.cc" + "${WEBRTC_DIR}/media/engine/webrtc_video_engine.cc" + "${WEBRTC_DIR}/media/engine/webrtc_voice_engine.cc" + "${WEBRTC_DIR}/system_wrappers/source/clock.cc" + "${WEBRTC_DIR}/system_wrappers/source/cpu_features.cc" + "${WEBRTC_DIR}/system_wrappers/source/cpu_info.cc" + "${WEBRTC_DIR}/system_wrappers/source/field_trial.cc" + "${WEBRTC_DIR}/system_wrappers/source/metrics.cc" + "${WEBRTC_DIR}/system_wrappers/source/rtp_to_ntp_estimator.cc" + "${WEBRTC_DIR}/system_wrappers/source/sleep.cc" + "${WEBRTC_DIR}/modules/audio_coding/acm2/acm_receiver.cc" + "${WEBRTC_DIR}/modules/audio_coding/acm2/acm_remixing.cc" + "${WEBRTC_DIR}/modules/audio_coding/acm2/acm_resampler.cc" + "${WEBRTC_DIR}/modules/audio_coding/acm2/audio_coding_module.cc" + "${WEBRTC_DIR}/modules/audio_coding/acm2/call_statistics.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_config.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/channel_controller.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/controller.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/controller_manager.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/debug_dump_writer.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/dtx_controller.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/event_log_writer.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.cc" + "${WEBRTC_DIR}/modules/audio_coding/audio_network_adaptor/frame_length_controller.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/cng/audio_encoder_cng.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/cng/webrtc_cng.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/g711/g711_interface.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/g711/audio_decoder_pcm.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/g722/audio_decoder_g722.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/g722/audio_encoder_g722.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/g722/g722_interface.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/pcm16b.c" + "${WEBRTC_DIR}/modules/third_party/g711/g711.c" + "${WEBRTC_DIR}/modules/third_party/g722/g722_decode.c" + "${WEBRTC_DIR}/modules/third_party/g722/g722_encode.c" + "${WEBRTC_DIR}/modules/third_party/fft/fft.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/empty.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/audio_decoder_isacfix.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/isacfix.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/arith_routines.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/arith_routines_hist.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/arith_routines_logist.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/bandwidth_estimator.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/decode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/decode_bwe.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/decode_plc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/encode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/fft.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filterbank_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filterbanks.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filters.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/initialize.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lattice.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lattice_c.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lpc_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_estimator.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_estimator_c.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_filter.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_filter_c.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_gain_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/pitch_lag_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/spectrum_ar_model_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/transform.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/transform_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/audio_decoder_isac.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/audio_encoder_isac.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/arith_routines.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/crc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/decode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/decode_bwe.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/encode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/entropy_coding.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/filter_functions.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/filterbanks.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/intialize.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/isac.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/isac_vad.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lattice.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/lpc_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_filter.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/source/transform.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/main/util/utility.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/legacy_encoded_audio_frame.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_coder_opus_common.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_decoder_multi_channel_opus_impl.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_decoder_opus.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/audio_encoder_opus.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/opus_interface.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/test/audio_ring_buffer.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/test/blocker.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/opus/test/lapped_transform.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/pcm16b/pcm16b_common.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/abs_quant.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/abs_quant_loop.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/augmented_cb_corr.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/bw_expand.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_construct.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_mem_energy.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_mem_energy_augmentation.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_mem_energy_calc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_search.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_search_core.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/cb_update_best_index.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/chebyshev.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/comp_corr.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/constants.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/create_augmented_vec.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/decode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/decode_residual.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/decoder_interpolate_lsf.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/do_plc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/encode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/energy_inverse.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/enh_upsample.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/enhancer.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/enhancer_interface.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/filtered_cb_vecs.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/frame_classify.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/gain_dequant.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/gain_quant.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/get_cd_vec.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/get_lsp_poly.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/get_sync_seq.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/hp_input.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/hp_output.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/ilbc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/index_conv_dec.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/index_conv_enc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/init_decode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/init_encode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/interpolate.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/interpolate_samples.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lpc_encode.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_check.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_dec.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_enc.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_to_lsp.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsf_to_poly.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/lsp_to_lsf.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/my_corr.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/nearest_neighbor.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/pack_bits.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/poly_to_lsf.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/poly_to_lsp.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/refiner.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_interpolate_lsf.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_lpc_analysis.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_lsf_dequant.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/simple_lsf_quant.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/smooth.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/smooth_out_data.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/sort_sq.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/split_vq.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/state_construct.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/state_search.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/swap_bytes.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/unpack_bits.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/vq3.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/vq4.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/window32_w32.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/ilbc/xcorr_coef.c" + "${WEBRTC_DIR}/modules/audio_coding/neteq/accelerate.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/audio_multi_vector.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/audio_vector.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/background_noise.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/buffer_level_filter.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/comfort_noise.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/cross_correlation.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/decision_logic.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/decoder_database.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/default_neteq_factory.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/delay_manager.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/dsp_helper.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/dtmf_buffer.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/dtmf_tone_generator.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/expand.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/expand_uma_logger.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/histogram.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/merge.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/nack_tracker.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/neteq_impl.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/normal.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/packet.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/packet_buffer.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/post_decode_vad.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/preemptive_expand.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/random_vector.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/red_payload_splitter.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/statistics_calculator.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/sync_buffer.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/time_stretch.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/timestamp_scaler.cc" + "${WEBRTC_DIR}/modules/audio_device/audio_device_buffer.cc" + "${WEBRTC_DIR}/modules/audio_device/audio_device_data_observer.cc" + "${WEBRTC_DIR}/modules/audio_device/audio_device_generic.cc" + "${WEBRTC_DIR}/modules/audio_device/audio_device_name.cc" + "${WEBRTC_DIR}/modules/audio_device/dummy/audio_device_dummy.cc" + "${WEBRTC_DIR}/modules/audio_device/dummy/file_audio_device.cc" + "${WEBRTC_DIR}/modules/audio_device/dummy/file_audio_device_factory.cc" + "${WEBRTC_DIR}/modules/audio_device/fine_audio_buffer.cc" + "${WEBRTC_DIR}/modules/audio_device/include/test_audio_device.cc" + "${WEBRTC_DIR}/modules/audio_mixer/audio_frame_manipulator.cc" + "${WEBRTC_DIR}/modules/audio_mixer/audio_mixer_impl.cc" + "${WEBRTC_DIR}/modules/audio_mixer/default_output_rate_calculator.cc" + "${WEBRTC_DIR}/modules/audio_mixer/frame_combiner.cc" + "${WEBRTC_DIR}/modules/audio_mixer/gain_change_calculator.cc" + "${WEBRTC_DIR}/modules/audio_mixer/sine_wave_generator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/adaptive_fir_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/adaptive_fir_filter_erl.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/aec3_common.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/aec3_fft.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/aec_state.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/alignment_mixer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/api_call_jitter_metrics.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/block_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/block_delay_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/block_framer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/block_processor.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/block_processor_metrics.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/clockdrift_detector.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/coarse_filter_update_gain.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/comfort_noise_generator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/decimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/dominant_nearend_detector.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/downsampled_render_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/echo_audibility.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/echo_canceller3.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/echo_path_delay_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/echo_path_variability.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/echo_remover.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/echo_remover_metrics.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/erl_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/erle_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/fft_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/filter_analyzer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/frame_blocker.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/fullband_erle_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/matched_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/moving_average.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/refined_filter_update_gain.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/render_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/render_delay_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/render_delay_controller.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/render_delay_controller_metrics.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/render_signal_analyzer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/residual_echo_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_decay_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_frequency_response.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_model.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/reverb_model_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/signal_dependent_erle_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/spectrum_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/stationarity_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/subband_erle_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/subband_nearend_detector.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/subtractor.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/subtractor_output.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/subtractor_output_analyzer.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/suppression_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/suppression_gain.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec_dump/null_aec_dump_factory.cc" + "${WEBRTC_DIR}/modules/audio_processing/aecm/aecm_core.cc" + "${WEBRTC_DIR}/modules/audio_processing/aecm/aecm_core_c.cc" + "${WEBRTC_DIR}/modules/audio_processing/aecm/echo_control_mobile.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/agc.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/agc_manager_direct.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/legacy/analog_agc.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/legacy/digital_agc.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/loudness_histogram.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/utility.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/agc2_testing_common.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/biquad_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/fixed_digital_level_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/gain_applier.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/interpolated_gain_curve.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/limiter.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/limiter_db_gain_curve.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/noise_level_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/saturation_protector.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/vector_float_frame.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/auto_correlation.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/features_extraction.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/lp_residual.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/pitch_search.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/rnn.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/spectral_features.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/rnn_vad/rnn_gru.cc" + "${WEBRTC_DIR}/modules/audio_processing/audio_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/audio_processing_impl.cc" + "${WEBRTC_DIR}/modules/audio_processing/audio_processing_builder_impl.cc" + "${WEBRTC_DIR}/modules/audio_processing/echo_control_mobile_impl.cc" + "${WEBRTC_DIR}/modules/audio_processing/echo_detector/circular_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/echo_detector/mean_variance_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/echo_detector/moving_max.cc" + "${WEBRTC_DIR}/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/gain_control_impl.cc" + "${WEBRTC_DIR}/modules/audio_processing/gain_controller2.cc" + "${WEBRTC_DIR}/modules/audio_processing/high_pass_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/include/aec_dump.cc" + "${WEBRTC_DIR}/modules/audio_processing/include/audio_frame_proxies.cc" + "${WEBRTC_DIR}/modules/audio_processing/include/audio_processing.cc" + "${WEBRTC_DIR}/modules/audio_processing/include/audio_processing_statistics.cc" + "${WEBRTC_DIR}/modules/audio_processing/logging/apm_data_dumper.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/fast_math.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/histograms.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/noise_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/noise_suppressor.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/ns_fft.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/prior_signal_model.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/prior_signal_model_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/quantile_noise_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/signal_model.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/signal_model_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/speech_probability_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/suppression_params.cc" + "${WEBRTC_DIR}/modules/audio_processing/ns/wiener_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/residual_echo_detector.cc" + "${WEBRTC_DIR}/modules/audio_processing/rms_level.cc" + "${WEBRTC_DIR}/modules/audio_processing/splitting_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/three_band_filter_bank.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/file_utils.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/moving_moments.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/transient_detector.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/transient_suppressor_impl.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/wpd_node.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/wpd_tree.cc" + "${WEBRTC_DIR}/modules/audio_processing/utility/cascaded_biquad_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/utility/delay_estimator.cc" + "${WEBRTC_DIR}/modules/audio_processing/utility/delay_estimator_wrapper.cc" + "${WEBRTC_DIR}/modules/audio_processing/utility/pffft_wrapper.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/gmm.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/pitch_based_vad.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/pitch_internal.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/pole_zero_filter.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/standalone_vad.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/vad_audio_proc.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/vad_circular_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/vad/voice_activity_detector.cc" + "${WEBRTC_DIR}/modules/congestion_controller/pcc/bitrate_controller.cc" + "${WEBRTC_DIR}/modules/congestion_controller/pcc/monitor_interval.cc" + "${WEBRTC_DIR}/modules/congestion_controller/pcc/pcc_factory.cc" + "${WEBRTC_DIR}/modules/congestion_controller/pcc/pcc_network_controller.cc" + "${WEBRTC_DIR}/modules/congestion_controller/pcc/rtt_tracker.cc" + "${WEBRTC_DIR}/modules/congestion_controller/pcc/utility_function.cc" + "${WEBRTC_DIR}/modules/congestion_controller/receive_side_congestion_controller.cc" + "${WEBRTC_DIR}/modules/congestion_controller/rtp/control_handler.cc" + "${WEBRTC_DIR}/modules/congestion_controller/rtp/transport_feedback_adapter.cc" + "${WEBRTC_DIR}/modules/congestion_controller/rtp/transport_feedback_demuxer.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/alr_detector.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/bitrate_estimator.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/delay_based_bwe.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/goog_cc_network_control.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/link_capacity_estimator.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/loss_based_bandwidth_estimation.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/probe_controller.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/robust_throughput_estimator.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/trendline_estimator.cc" + "${WEBRTC_DIR}/modules/pacing/bitrate_prober.cc" + "${WEBRTC_DIR}/modules/pacing/interval_budget.cc" + "${WEBRTC_DIR}/modules/pacing/pacing_controller.cc" + "${WEBRTC_DIR}/modules/pacing/packet_router.cc" + "${WEBRTC_DIR}/modules/pacing/task_queue_paced_sender.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/include/report_block_data.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/include/rtp_rtcp_defines.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/absolute_capture_time_sender.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/dtmf_queue.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/fec_private_tables_bursty.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/fec_private_tables_random.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/fec_test_helper.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/flexfec_receiver.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/flexfec_sender.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/forward_error_correction.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/forward_error_correction_internal.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/packet_loss_stats.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/remote_ntp_time_estimator.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_nack_stats.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/app.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/bye.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/common_header.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/compound_packet.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/dlrr.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/fir.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/loss_notification.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/nack.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/pli.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/psfb.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/remb.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/remote_estimate.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/report_block.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/rrtr.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/sdes.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/tmmb_item.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_receiver.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_sender.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_transceiver.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_transceiver_config.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_descriptor_authentication.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_h264.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_video_generic.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_vp8.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_vp9.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_header_extension_map.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_header_extension_size.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_header_extensions.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet_history.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet_received.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packet_to_send.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_packetizer_av1.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_rtcp_impl.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_audio.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_egress.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_video.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_sequence_number_map.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_video_header.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/source_tracker.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/time_util.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/tmmbr_help.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/ulpfec_generator.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_av1.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_generic.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_h264.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_raw.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_vp8.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_vp9.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/receive_statistics_impl.cc" + "${WEBRTC_DIR}/modules/video_capture/device_info_impl.cc" + "${WEBRTC_DIR}/modules/video_capture/video_capture_factory.cc" + "${WEBRTC_DIR}/modules/video_capture/video_capture_impl.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264_color_space.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264_decoder_impl.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/h264/h264_encoder_impl.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/multiplex_decoder_adapter.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc" + "${WEBRTC_DIR}/modules/video_coding/decoder_database.cc" + "${WEBRTC_DIR}/modules/video_coding/encoded_frame.cc" + "${WEBRTC_DIR}/modules/video_coding/fec_controller_default.cc" + "${WEBRTC_DIR}/modules/video_coding/frame_buffer2.cc" + "${WEBRTC_DIR}/modules/video_coding/frame_dependencies_calculator.cc" + "${WEBRTC_DIR}/modules/video_coding/frame_object.cc" + "${WEBRTC_DIR}/modules/video_coding/generic_decoder.cc" + "${WEBRTC_DIR}/modules/video_coding/h264_sprop_parameter_sets.cc" + "${WEBRTC_DIR}/modules/video_coding/h264_sps_pps_tracker.cc" + "${WEBRTC_DIR}/modules/video_coding/histogram.cc" + "${WEBRTC_DIR}/modules/video_coding/include/video_codec_interface.cc" + "${WEBRTC_DIR}/modules/video_coding/loss_notification_controller.cc" + "${WEBRTC_DIR}/modules/video_coding/media_opt_util.cc" + "${WEBRTC_DIR}/modules/video_coding/packet_buffer.cc" + "${WEBRTC_DIR}/modules/video_coding/rtp_frame_reference_finder.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/decoded_frames_history.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/frame_dropper.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/ivf_file_reader.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/ivf_file_writer.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/quality_scaler.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/simulcast_rate_allocator.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/simulcast_utility.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/vp8_header_parser.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/vp9_uncompressed_header_parser.cc" + "${WEBRTC_DIR}/modules/video_coding/video_codec_initializer.cc" + "${WEBRTC_DIR}/modules/video_coding/video_coding_defines.cc" + "${WEBRTC_DIR}/modules/video_coding/video_receiver2.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp8/default_temporal_layers.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp8/screenshare_layers.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp8/temporal_layers_checker.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp9/svc_config.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp9/vp9.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.cc" + "${WEBRTC_DIR}/call/adaptation/encoder_settings.cc" + "${WEBRTC_DIR}/call/adaptation/resource_adaptation_processor_interface.cc" + "${WEBRTC_DIR}/call/adaptation/video_source_restrictions.cc" + "${WEBRTC_DIR}/call/audio_receive_stream.cc" + "${WEBRTC_DIR}/call/audio_send_stream.cc" + "${WEBRTC_DIR}/call/audio_state.cc" + "${WEBRTC_DIR}/call/bitrate_allocator.cc" + "${WEBRTC_DIR}/call/call.cc" + "${WEBRTC_DIR}/call/call_config.cc" + "${WEBRTC_DIR}/call/call_factory.cc" + "${WEBRTC_DIR}/call/degraded_call.cc" + "${WEBRTC_DIR}/call/fake_network_pipe.cc" + "${WEBRTC_DIR}/call/flexfec_receive_stream.cc" + "${WEBRTC_DIR}/call/flexfec_receive_stream_impl.cc" + "${WEBRTC_DIR}/call/receive_time_calculator.cc" + "${WEBRTC_DIR}/call/rtp_bitrate_configurator.cc" + "${WEBRTC_DIR}/call/rtp_config.cc" + "${WEBRTC_DIR}/call/rtp_demuxer.cc" + "${WEBRTC_DIR}/call/rtp_payload_params.cc" + "${WEBRTC_DIR}/call/rtp_stream_receiver_controller.cc" + "${WEBRTC_DIR}/call/rtp_transport_controller_send.cc" + "${WEBRTC_DIR}/call/rtp_video_sender.cc" + "${WEBRTC_DIR}/call/rtx_receive_stream.cc" + "${WEBRTC_DIR}/call/simulated_network.cc" + "${WEBRTC_DIR}/call/syncable.cc" + "${WEBRTC_DIR}/call/video_receive_stream.cc" + "${WEBRTC_DIR}/call/video_send_stream.cc" + "${WEBRTC_DIR}/common_audio/audio_converter.cc" + "${WEBRTC_DIR}/common_audio/audio_util.cc" + "${WEBRTC_DIR}/common_audio/channel_buffer.cc" + "${WEBRTC_DIR}/common_audio/fir_filter_c.cc" + "${WEBRTC_DIR}/common_audio/fir_filter_factory.cc" + "${WEBRTC_DIR}/common_audio/real_fourier.cc" + "${WEBRTC_DIR}/common_audio/real_fourier_ooura.cc" + "${WEBRTC_DIR}/common_audio/resampler/push_resampler.cc" + "${WEBRTC_DIR}/common_audio/resampler/push_sinc_resampler.cc" + "${WEBRTC_DIR}/common_audio/resampler/resampler.cc" + "${WEBRTC_DIR}/common_audio/resampler/sinc_resampler.cc" + "${WEBRTC_DIR}/common_audio/resampler/sinusoidal_linear_chirp_source.cc" + "${WEBRTC_DIR}/common_audio/signal_processing/dot_product_with_scale.cc" + "${WEBRTC_DIR}/common_audio/smoothing_filter.cc" + "${WEBRTC_DIR}/common_audio/vad/vad.cc" + "${WEBRTC_DIR}/common_audio/wav_file.cc" + "${WEBRTC_DIR}/common_audio/wav_header.cc" + "${WEBRTC_DIR}/common_audio/window_generator.cc" + "${WEBRTC_DIR}/common_audio/ring_buffer.c" + "${WEBRTC_DIR}/common_audio/signal_processing/auto_corr_to_refl_coef.c" + "${WEBRTC_DIR}/common_audio/signal_processing/auto_correlation.c" + "${WEBRTC_DIR}/common_audio/signal_processing/complex_fft.c" + "${WEBRTC_DIR}/common_audio/signal_processing/copy_set_operations.c" + "${WEBRTC_DIR}/common_audio/signal_processing/cross_correlation.c" + "${WEBRTC_DIR}/common_audio/signal_processing/division_operations.c" + "${WEBRTC_DIR}/common_audio/signal_processing/downsample_fast.c" + "${WEBRTC_DIR}/common_audio/signal_processing/energy.c" + "${WEBRTC_DIR}/common_audio/signal_processing/filter_ar.c" + "${WEBRTC_DIR}/common_audio/signal_processing/filter_ma_fast_q12.c" + "${WEBRTC_DIR}/common_audio/signal_processing/get_hanning_window.c" + "${WEBRTC_DIR}/common_audio/signal_processing/get_scaling_square.c" + "${WEBRTC_DIR}/common_audio/signal_processing/ilbc_specific_functions.c" + "${WEBRTC_DIR}/common_audio/signal_processing/levinson_durbin.c" + "${WEBRTC_DIR}/common_audio/signal_processing/lpc_to_refl_coef.c" + "${WEBRTC_DIR}/common_audio/signal_processing/min_max_operations.c" + "${WEBRTC_DIR}/common_audio/signal_processing/randomization_functions.c" + "${WEBRTC_DIR}/common_audio/signal_processing/real_fft.c" + "${WEBRTC_DIR}/common_audio/signal_processing/refl_coef_to_lpc.c" + "${WEBRTC_DIR}/common_audio/signal_processing/resample.c" + "${WEBRTC_DIR}/common_audio/signal_processing/resample_48khz.c" + "${WEBRTC_DIR}/common_audio/signal_processing/resample_by_2.c" + "${WEBRTC_DIR}/common_audio/signal_processing/resample_by_2_internal.c" + "${WEBRTC_DIR}/common_audio/signal_processing/resample_fractional.c" + "${WEBRTC_DIR}/common_audio/signal_processing/spl_init.c" + "${WEBRTC_DIR}/common_audio/signal_processing/spl_inl.c" + "${WEBRTC_DIR}/common_audio/signal_processing/spl_sqrt.c" + "${WEBRTC_DIR}/common_audio/signal_processing/splitting_filter.c" + "${WEBRTC_DIR}/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c" + "${WEBRTC_DIR}/common_audio/signal_processing/vector_scaling_operations.c" + "${WEBRTC_DIR}/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c" + "${WEBRTC_DIR}/common_audio/vad/vad_core.c" + "${WEBRTC_DIR}/common_audio/vad/vad_filterbank.c" + "${WEBRTC_DIR}/common_audio/vad/vad_gmm.c" + "${WEBRTC_DIR}/common_audio/vad/vad_sp.c" + "${WEBRTC_DIR}/common_audio/vad/webrtc_vad.c" + "${WEBRTC_DIR}/common_video/bitrate_adjuster.cc" + "${WEBRTC_DIR}/common_video/frame_rate_estimator.cc" + "${WEBRTC_DIR}/common_video/generic_frame_descriptor/generic_frame_info.cc" + "${WEBRTC_DIR}/common_video/h264/h264_bitstream_parser.cc" + "${WEBRTC_DIR}/common_video/h264/h264_common.cc" + "${WEBRTC_DIR}/common_video/h264/pps_parser.cc" + "${WEBRTC_DIR}/common_video/h264/sps_parser.cc" + "${WEBRTC_DIR}/common_video/h264/sps_vui_rewriter.cc" + "${WEBRTC_DIR}/common_video/libyuv/webrtc_libyuv.cc" + "${WEBRTC_DIR}/common_video/video_frame_buffer.cc" + "${WEBRTC_DIR}/p2p/base/async_stun_tcp_socket.cc" + "${WEBRTC_DIR}/p2p/base/basic_async_resolver_factory.cc" + "${WEBRTC_DIR}/p2p/base/basic_ice_controller.cc" + "${WEBRTC_DIR}/p2p/base/basic_packet_socket_factory.cc" + "${WEBRTC_DIR}/p2p/base/connection.cc" + "${WEBRTC_DIR}/p2p/base/connection_info.cc" + "${WEBRTC_DIR}/p2p/base/default_ice_transport_factory.cc" + "${WEBRTC_DIR}/p2p/base/dtls_transport.cc" + "${WEBRTC_DIR}/p2p/base/dtls_transport_internal.cc" + "${WEBRTC_DIR}/p2p/base/ice_controller_interface.cc" + "${WEBRTC_DIR}/p2p/base/ice_credentials_iterator.cc" + "${WEBRTC_DIR}/p2p/base/ice_transport_internal.cc" + "${WEBRTC_DIR}/p2p/base/p2p_constants.cc" + "${WEBRTC_DIR}/p2p/base/p2p_transport_channel.cc" + "${WEBRTC_DIR}/p2p/base/packet_transport_internal.cc" + "${WEBRTC_DIR}/p2p/base/port.cc" + "${WEBRTC_DIR}/p2p/base/port_allocator.cc" + "${WEBRTC_DIR}/p2p/base/port_interface.cc" + "${WEBRTC_DIR}/p2p/base/pseudo_tcp.cc" + "${WEBRTC_DIR}/p2p/base/regathering_controller.cc" + "${WEBRTC_DIR}/p2p/base/stun_port.cc" + "${WEBRTC_DIR}/p2p/base/stun_request.cc" + "${WEBRTC_DIR}/p2p/base/stun_server.cc" + "${WEBRTC_DIR}/p2p/base/tcp_port.cc" + "${WEBRTC_DIR}/p2p/base/test_stun_server.cc" + "${WEBRTC_DIR}/p2p/base/transport_description.cc" + "${WEBRTC_DIR}/p2p/base/transport_description_factory.cc" + "${WEBRTC_DIR}/p2p/base/turn_port.cc" + "${WEBRTC_DIR}/p2p/base/turn_server.cc" + "${WEBRTC_DIR}/p2p/client/basic_port_allocator.cc" + "${WEBRTC_DIR}/p2p/client/turn_port_factory.cc" + "${WEBRTC_DIR}/p2p/stunprober/stun_prober.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/encoder/blob_encoding.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/encoder/delta_encoding.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/encoder/rtc_event_log_encoder_common.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/encoder/var_int.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_alr_state.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_playout.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_dtls_transport_state.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_dtls_writable_state.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_generic_ack_received.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_generic_packet_received.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_generic_packet_sent.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_probe_result_failure.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_probe_result_success.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_route_change.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/fake_rtc_event_log.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/fake_rtc_event_log_factory.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/ice_logger.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/rtc_stream_config.cc" + "${WEBRTC_DIR}/video/adaptation/encode_usage_resource.cc" + "${WEBRTC_DIR}/video/adaptation/overuse_frame_detector.cc" + "${WEBRTC_DIR}/video/adaptation/quality_scaler_resource.cc" + "${WEBRTC_DIR}/video/buffered_frame_decryptor.cc" + "${WEBRTC_DIR}/video/encoder_bitrate_adjuster.cc" + "${WEBRTC_DIR}/video/encoder_overshoot_detector.cc" + "${WEBRTC_DIR}/video/encoder_rtcp_feedback.cc" + "${WEBRTC_DIR}/video/frame_dumping_decoder.cc" + "${WEBRTC_DIR}/video/frame_encode_metadata_writer.cc" + "${WEBRTC_DIR}/video/quality_limitation_reason_tracker.cc" + "${WEBRTC_DIR}/video/quality_threshold.cc" + "${WEBRTC_DIR}/video/report_block_stats.cc" + "${WEBRTC_DIR}/video/rtp_video_stream_receiver_frame_transformer_delegate.cc" + "${WEBRTC_DIR}/video/send_delay_stats.cc" + "${WEBRTC_DIR}/video/send_statistics_proxy.cc" + "${WEBRTC_DIR}/video/stats_counter.cc" + "${WEBRTC_DIR}/video/stream_synchronization.cc" + "${WEBRTC_DIR}/video/transport_adapter.cc" + "${WEBRTC_DIR}/video/video_send_stream.cc" + "${WEBRTC_DIR}/video/video_send_stream_impl.cc" + "${WEBRTC_DIR}/video/video_source_sink_controller.cc" + "${WEBRTC_DIR}/video/video_stream_decoder_impl.cc" + "${WEBRTC_DIR}/video/video_stream_encoder.cc" + "${WEBRTC_DIR}/audio/audio_level.cc" + "${WEBRTC_DIR}/audio/audio_receive_stream.cc" + "${WEBRTC_DIR}/audio/audio_send_stream.cc" + "${WEBRTC_DIR}/audio/audio_state.cc" + "${WEBRTC_DIR}/audio/audio_transport_impl.cc" + "${WEBRTC_DIR}/audio/channel_receive.cc" + "${WEBRTC_DIR}/audio/channel_receive_frame_transformer_delegate.cc" + "${WEBRTC_DIR}/audio/channel_send.cc" + "${WEBRTC_DIR}/audio/channel_send_frame_transformer_delegate.cc" + "${WEBRTC_DIR}/audio/remix_resample.cc" + "${WEBRTC_DIR}/audio/utility/audio_frame_operations.cc" + "${WEBRTC_DIR}/audio/utility/channel_mixer.cc" + "${WEBRTC_DIR}/audio/utility/channel_mixing_matrix.cc" + "${WEBRTC_DIR}/audio/voip/audio_egress.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/aimd_rate_control.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/bwe_defines.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/inter_arrival.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/overuse_detector.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/overuse_estimator.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/test/bwe_test_logging.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/remote_estimator_proxy.cc" + "${WEBRTC_DIR}/stats/rtc_stats_report.cc" + "${WEBRTC_DIR}/stats/rtc_stats.cc" + "${WEBRTC_DIR}/stats/rtcstats_objects.cc" + "${WEBRTC_DIR}/api/transport/rtp/dependency_descriptor.cc" + "${WEBRTC_DIR}/api/adaptation/resource.cc" + "${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_128/ooura_fft.cc" + "${WEBRTC_DIR}/common_video/video_frame_buffer_pool.cc" + "${WEBRTC_DIR}/modules/async_audio_processing/async_audio_processing.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/transparent_mode.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/cpu_features.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/inter_arrival_delta.cc" + "${WEBRTC_DIR}/rtc_base/boringssl_identity.cc" + "${WEBRTC_DIR}/rtc_base/network_monitor_factory.cc" + "${WEBRTC_DIR}/rtc_base/openssl_key_pair.cc" + "${WEBRTC_DIR}/rtc_base/deprecated/recursive_critical_section.cc" + "${WEBRTC_DIR}/api/video/video_frame_metadata.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc" + "${WEBRTC_DIR}/api/video/nv12_buffer.cc" + "${WEBRTC_DIR}/api/video/video_adaptation_counters.cc" + "${WEBRTC_DIR}/call/adaptation/degradation_preference_provider.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.cc" + "${WEBRTC_DIR}/modules/video_coding/chain_diff_calculator.cc" + "${WEBRTC_DIR}/modules/video_coding/rtp_frame_id_only_ref_finder.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/scalable_video_controller_no_layering.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/create_scalability_structure.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/svc_rate_allocator.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_full_svc.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_key_svc.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_l2t2_key_shift.cc" + "${WEBRTC_DIR}/pc/connection_context.cc" + "${WEBRTC_DIR}/pc/data_channel_utils.cc" + "${WEBRTC_DIR}/rtc_base/boringssl_certificate.cc" + "${WEBRTC_DIR}/rtc_base/strings/string_format.cc" + "${WEBRTC_DIR}/call/adaptation/adaptation_constraint.cc" + "${WEBRTC_DIR}/modules/audio_processing/optionally_built_submodule_creators.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/active_decode_targets_helper.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/interface/libvpx_interface.cc" + "${WEBRTC_DIR}/modules/video_coding/rtp_generic_ref_finder.cc" + "${WEBRTC_DIR}/pc/sctp_data_channel.cc" + "${WEBRTC_DIR}/rtc_base/callback_list.cc" + "${WEBRTC_DIR}/call/adaptation/broadcast_resource_listener.cc" + "${WEBRTC_DIR}/call/adaptation/video_stream_input_state.cc" + "${WEBRTC_DIR}/video/adaptation/video_stream_encoder_resource.cc" + "${WEBRTC_DIR}/call/adaptation/resource_adaptation_processor.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp9/libvpx_vp9_decoder.cc" + "${WEBRTC_DIR}/call/adaptation/video_stream_adapter.cc" + "${WEBRTC_DIR}/modules/video_coding/rtp_seq_num_only_ref_finder.cc" + "${WEBRTC_DIR}/modules/video_coding/rtp_vp8_ref_finder.cc" + "${WEBRTC_DIR}/call/adaptation/video_stream_input_state_provider.cc" + "${WEBRTC_DIR}/pc/peer_connection_message_handler.cc" + "${WEBRTC_DIR}/video/adaptation/video_stream_encoder_resource_manager.cc" + "${WEBRTC_DIR}/pc/rtp_transmission_manager.cc" + "${WEBRTC_DIR}/video/adaptation/balanced_constraint.cc" + "${WEBRTC_DIR}/pc/transceiver_list.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/av1/av1_svc_config.cc" + "${WEBRTC_DIR}/call/version.cc" + "${WEBRTC_DIR}/modules/video_coding/rtp_vp9_ref_finder.cc" + "${WEBRTC_DIR}/video/adaptation/bitrate_constraint.cc" + "${WEBRTC_DIR}/video/adaptation/pixel_limit_resource.cc" + "${WEBRTC_DIR}/pc/usage_pattern.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc" + "${WEBRTC_DIR}/pc/sdp_offer_answer.cc" + "${WEBRTC_DIR}/video/adaptation/quality_rampup_experiment_helper.cc" + "${WEBRTC_DIR}/video/call_stats2.cc" + "${WEBRTC_DIR}/video/alignment_adjuster.cc" + "${WEBRTC_DIR}/video/video_receive_stream2.cc" + "${WEBRTC_DIR}/video/receive_statistics_proxy2.cc" + "${WEBRTC_DIR}/video/video_quality_observer2.cc" + "${WEBRTC_DIR}/video/rtp_streams_synchronizer2.cc" + "${WEBRTC_DIR}/video/rtp_video_stream_receiver2.cc" + "${WEBRTC_DIR}/video/video_stream_decoder2.cc" + + "${WEBRTC_DIR}/modules/rtp_rtcp/source/packet_sequencer.cc" + "${WEBRTC_DIR}/rtc_base/async_resolver.cc" + "${WEBRTC_DIR}/rtc_base/experiments/encoder_info_settings.cc" + "${WEBRTC_DIR}/rtc_base/system_time.cc" + "${WEBRTC_DIR}/rtc_base/synchronization/sequence_checker_internal.cc" + "${WEBRTC_DIR}/rtc_base/internal/default_socket_server.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/scalability_structure_simulcast.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/qp_parser.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/saturation_protector_buffer.cc" + "${WEBRTC_DIR}/modules/audio_processing/capture_levels_adjuster/capture_levels_adjuster.cc" + "${WEBRTC_DIR}/modules/audio_processing/capture_levels_adjuster/audio_samples_scaler.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_util.cc" + "${WEBRTC_DIR}/pc/jsep_transport_collection.cc" + "${WEBRTC_DIR}/modules/video_coding/nack_requester.cc" + "${WEBRTC_DIR}/modules/congestion_controller/remb_throttler.cc" + "${WEBRTC_DIR}/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc" + "${WEBRTC_DIR}/system_wrappers/source/denormal_disabler.cc" + "${WEBRTC_DIR}/api/video_codecs/vp9_profile.cc" + "${WEBRTC_DIR}/api/video_codecs/h264_profile_level_id.cc" + "${WEBRTC_DIR}/modules/remote_bitrate_estimator/packet_arrival_map.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/capture_clock_offset_updater.cc" + "${WEBRTC_DIR}/pc/video_track_source_proxy.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/absolute_capture_time_interpolator.cc" + "${WEBRTC_DIR}/media/base/sdp_video_format_utils.cc" + "${WEBRTC_DIR}/media/sctp/sctp_transport_factory.cc" + "${WEBRTC_DIR}/media/sctp/dcsctp_transport.cc" + "${WEBRTC_DIR}/rtc_base/bitstream_reader.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/reorder_optimizer.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/underrun_optimizer.cc" + "${WEBRTC_DIR}/common_video/framerate_controller.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc/analog_gain_stats_reporter.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/vad_wrapper.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/adaptive_digital_gain_controller.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/framerate_controller_deprecated.cc" + "${WEBRTC_DIR}/video/adaptation/bandwidth_quality_scaler_resource.cc" + "${WEBRTC_DIR}/api/wrapping_async_dns_resolver.cc" + "${WEBRTC_DIR}/modules/video_coding/utility/bandwidth_quality_scaler.cc" + "${WEBRTC_DIR}/rtc_base/experiments/bandwidth_quality_scaler_settings.cc" + "${WEBRTC_DIR}/common_video/h265/h265_common.cc" + "${WEBRTC_DIR}/common_video/h265/h265_pps_parser.cc" + "${WEBRTC_DIR}/common_video/h265/h265_sps_parser.cc" + "${WEBRTC_DIR}/common_video/h265/h265_vps_parser.cc" + "${WEBRTC_DIR}/common_video/h265/legacy_bit_buffer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/rtp_format_h265.cc" + "${WEBRTC_DIR}/modules/video_coding/h265_vps_sps_pps_tracker.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc" + "${WEBRTC_DIR}/common_video/h265/h265_bitstream_parser.cc" + "${WEBRTC_DIR}/video/frame_cadence_adapter.cc" + "${WEBRTC_DIR}/api/video/i444_buffer.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_field_encoding_parser.cc" + "${WEBRTC_DIR}/video/decode_synchronizer.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/fixed_length_encoding_parameters_v3.cc" + "${WEBRTC_DIR}/video/frame_decode_timing.cc" + "${WEBRTC_DIR}/modules/video_coding/frame_helpers.cc" + "${WEBRTC_DIR}/video/task_queue_frame_decode_scheduler.cc" + "${WEBRTC_DIR}/video/video_receive_stream_timeout_tracker.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_field_encoding.cc" + "${WEBRTC_DIR}/logging/rtc_event_log/events/rtc_event_field_extraction.cc" + "${WEBRTC_DIR}/api/video/i210_buffer.cc" + "${WEBRTC_DIR}/api/video/i422_buffer.cc" + "${WEBRTC_DIR}/video/config/video_encoder_config.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/config_selector.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/ulpfec_receiver.cc" + "${WEBRTC_DIR}/api/video_codecs/av1_profile.cc" + "${WEBRTC_DIR}/modules/utility/maybe_worker_thread.cc" + "${WEBRTC_DIR}/pc/legacy_stats_collector.cc" + "${WEBRTC_DIR}/modules/audio_coding/neteq/packet_arrival_history.cc" + "${WEBRTC_DIR}/api/task_queue/pending_task_safety_flag.cc" + "${WEBRTC_DIR}/video/render/incoming_video_stream.cc" + "${WEBRTC_DIR}/modules/pacing/prioritized_packet_queue.cc" + "${WEBRTC_DIR}/video/unique_timestamp_counter.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/clipping_predictor.cc" + "${WEBRTC_DIR}/api/video_codecs/scalability_mode.cc" + "${WEBRTC_DIR}/modules/video_coding/codecs/vp8/vp8_scalability.cc" + "${WEBRTC_DIR}/video/render/video_render_frames.cc" + "${WEBRTC_DIR}/modules/video_coding/svc/scalability_mode_util.cc" + "${WEBRTC_DIR}/modules/audio_processing/transient/voice_probability_delay_unit.cc" + "${WEBRTC_DIR}/modules/audio_processing/aec3/multi_channel_content_detector.cc" + "${WEBRTC_DIR}/video/video_stream_buffer_controller.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/clipping_predictor_level_buffer.cc" + "${WEBRTC_DIR}/api/video/frame_buffer.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/inter_frame_delay.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/jitter_estimator.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/timing.cc" + "${WEBRTC_DIR}/video/config/encoder_stream_factory.cc" + "${WEBRTC_DIR}/p2p/base/ice_switch_reason.cc" + "${WEBRTC_DIR}/p2p/base/wrapping_active_ice_controller.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/codec_timer.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/timestamp_extrapolator.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/frame_delay_variation_kalman_filter.cc" + "${WEBRTC_DIR}/modules/video_coding/timing/rtt_filter.cc" + "${WEBRTC_DIR}/video/config/simulcast.cc" + "${WEBRTC_DIR}/api/video_codecs/simulcast_stream.cc" +) + +target_sources(webrtc PRIVATE + "${WEBRTC_DIR}/rtc_base/system/warn_current_thread_is_deadlocked.cc" + "${WEBRTC_DIR}/rtc_base/task_queue_libevent.cc" + "${WEBRTC_DIR}/rtc_base/task_queue_stdlib.cc" + + "${WEBRTC_DIR}/api/field_trials.cc" + "${WEBRTC_DIR}/api/numerics/samples_stats_counter.cc" + "${WEBRTC_DIR}/api/task_queue/default_task_queue_factory_libevent.cc" + "${WEBRTC_DIR}/api/voip/voip_engine_factory.cc" + "${WEBRTC_DIR}/api/video/rtp_video_frame_assembler.cc" + "${WEBRTC_DIR}/api/video_codecs/spatial_layer.cc" + "${WEBRTC_DIR}/api/video_codecs/scalability_mode_helper.cc" + + "${WEBRTC_DIR}/audio/voip/audio_channel.cc" + "${WEBRTC_DIR}/audio/voip/audio_ingress.cc" + "${WEBRTC_DIR}/audio/voip/voip_core.cc" + + "${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_256/fft4g.cc" + + "${WEBRTC_DIR}/sdk/media_constraints.cc" + + "${WEBRTC_DIR}/logging/rtc_event_log/rtc_event_log_impl.cc" + + "${WEBRTC_DIR}/modules/audio_device/audio_device_impl.cc" + "${WEBRTC_DIR}/modules/audio_processing/agc2/speech_probability_buffer.cc" + "${WEBRTC_DIR}/modules/video_capture/linux/device_info_linux.cc" + "${WEBRTC_DIR}/modules/video_capture/linux/video_capture_linux.cc" + "${WEBRTC_DIR}/modules/video_capture/video_capture_factory_null.cc" + "${WEBRTC_DIR}/modules/video_coding/decoding_state.cc" + "${WEBRTC_DIR}/modules/video_coding/event_wrapper.cc" + "${WEBRTC_DIR}/modules/video_coding/frame_buffer.cc" + "${WEBRTC_DIR}/modules/video_coding/jitter_buffer.cc" + "${WEBRTC_DIR}/modules/video_coding/packet.cc" + "${WEBRTC_DIR}/modules/video_coding/receiver.cc" + "${WEBRTC_DIR}/modules/video_coding/session_info.cc" + "${WEBRTC_DIR}/modules/video_coding/video_coding_impl.cc" + "${WEBRTC_DIR}/modules/video_coding/video_receiver.cc" + "${WEBRTC_DIR}/modules/video_coding/h264_packet_buffer.cc" + "${WEBRTC_DIR}/modules/rtp_rtcp/source/deprecated/deprecated_rtp_sender_egress.cc" + "${WEBRTC_DIR}/modules/utility/source/helpers_android.cc" + "${WEBRTC_DIR}/modules/utility/source/jvm_android.cc" + + "${WEBRTC_DIR}/net/dcsctp/public/dcsctp_socket_factory.cc" + "${WEBRTC_DIR}/net/dcsctp/public/dcsctp_handover_state.cc" + "${WEBRTC_DIR}/net/dcsctp/public/text_pcap_packet_observer.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/callback_deferrer.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/dcsctp_socket.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/heartbeat_handler.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/packet_sender.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/state_cookie.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/stream_reset_handler.cc" + "${WEBRTC_DIR}/net/dcsctp/socket/transmission_control_block.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk_validators.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/crc32c.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/sctp_packet.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/tlv_trait.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/abort_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/cookie_ack_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/cookie_echo_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/data_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/error_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/forward_tsn_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/heartbeat_ack_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/heartbeat_request_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/idata_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/iforward_tsn_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/init_ack_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/init_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/reconfig_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/sack_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/shutdown_ack_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/shutdown_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/chunk/shutdown_complete_chunk.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/cookie_received_while_shutting_down_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/error_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/invalid_mandatory_parameter_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/invalid_stream_identifier_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/missing_mandatory_parameter_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/no_user_data_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/out_of_resource_error_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/protocol_violation_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/stale_cookie_error_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/restart_of_an_association_with_new_address_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/unrecognized_chunk_type_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/unrecognized_parameter_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/unresolvable_address_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/error_cause/user_initiated_abort_cause.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/add_incoming_streams_request_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/add_outgoing_streams_request_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/forward_tsn_supported_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/heartbeat_info_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/incoming_ssn_reset_request_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/outgoing_ssn_reset_request_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/reconfiguration_response_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/ssn_tsn_reset_request_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/state_cookie_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/packet/parameter/supported_extensions_parameter.cc" + "${WEBRTC_DIR}/net/dcsctp/rx/data_tracker.cc" + "${WEBRTC_DIR}/net/dcsctp/rx/reassembly_queue.cc" + "${WEBRTC_DIR}/net/dcsctp/rx/traditional_reassembly_streams.cc" + "${WEBRTC_DIR}/net/dcsctp/rx/interleaved_reassembly_streams.cc" + "${WEBRTC_DIR}/net/dcsctp/tx/outstanding_data.cc" + "${WEBRTC_DIR}/net/dcsctp/tx/retransmission_error_counter.cc" + "${WEBRTC_DIR}/net/dcsctp/tx/retransmission_queue.cc" + "${WEBRTC_DIR}/net/dcsctp/tx/retransmission_timeout.cc" + "${WEBRTC_DIR}/net/dcsctp/tx/rr_send_queue.cc" + "${WEBRTC_DIR}/net/dcsctp/tx/stream_scheduler.cc" + "${WEBRTC_DIR}/net/dcsctp/timer/task_queue_timeout.cc" + "${WEBRTC_DIR}/net/dcsctp/timer/timer.cc" +) + +# crc32 + +target_sources(webrtc PRIVATE + "${THIRDPARTY_DIR}/crc32c/src/crc32c_portable.cc" + "${THIRDPARTY_DIR}/crc32c/src/crc32c.cc" +) +target_include_directories(webrtc PRIVATE + "${THIRDPARTY_DIR}/crc32c/include" +) + +# libevent + +target_sources(webrtc PRIVATE + "${THIRDPARTY_DIR}/libevent/buffer.c" + "${THIRDPARTY_DIR}/libevent/epoll.c" + "${THIRDPARTY_DIR}/libevent/evbuffer.c" + "${THIRDPARTY_DIR}/libevent/evdns.c" + "${THIRDPARTY_DIR}/libevent/event.c" + "${THIRDPARTY_DIR}/libevent/event_tagging.c" + "${THIRDPARTY_DIR}/libevent/evrpc.c" + "${THIRDPARTY_DIR}/libevent/evutil.c" + "${THIRDPARTY_DIR}/libevent/http.c" + "${THIRDPARTY_DIR}/libevent/log.c" + "${THIRDPARTY_DIR}/libevent/poll.c" + "${THIRDPARTY_DIR}/libevent/select.c" + "${THIRDPARTY_DIR}/libevent/signal.c" + "${THIRDPARTY_DIR}/libevent/strlcpy.c" +) + +# Deprecated non-existent files: + +# "${WEBRTC_DIR}/modules/audio_device/android/audio_screen_record_jni.cc" +# "${WEBRTC_DIR}/modules/audio_device/android/audio_merged_screen_record_jni.cc" +# "${WEBRTC_DIR}/sdk/android/src/jni/h264_codec.cc" +# "${WEBRTC_DIR}/video/rtp_video_stream_receiver.cc" +# "${WEBRTC_DIR}/common_video/h264/prefix_parser.cc" +# "${WEBRTC_DIR}/api/field_trials_registry.cc" +# "${WEBRTC_DIR}/modules/audio_processing/agc2/speech_level_estimator.cc" +# "${WEBRTC_DIR}/modules/audio_processing/agc2/input_volume_stats_reporter.cc" + +target_compile_definitions(webrtc PRIVATE + RTC_DISABLE_TRACE_EVENTS + WEBRTC_OPUS_SUPPORT_120MS_PTIME=1 + BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0 + ABSL_ALLOCATOR_NOTHROW=1 + WEBRTC_NS_FLOAT + HAVE_PTHREAD + RTC_ENABLE_VP9 + WEBRTC_POSIX + WEBRTC_LINUX + WEBRTC_USE_H264 + NDEBUG + WEBRTC_HAVE_USRSCTP + WEBRTC_HAVE_DCSCTP + WEBRTC_HAVE_SCTP + WEBRTC_APM_DEBUG_DUMP=0 + WEBRTC_USE_BUILTIN_ISAC_FLOAT + WEBRTC_OPUS_VARIABLE_COMPLEXITY=0 + HAVE_NETINET_IN_H + WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE + HAVE_WEBRTC_VIDEO + DYNAMIC_ANNOTATIONS_ENABLED=0 + WEBRTC_ENABLE_PROTOBUF=0 + WEBRTC_ENABLE_AVX2 + WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 +) + +#[[target_compile_options(webrtc INTERFACE + "$<$:-std=c20>" + "$<$:-std=c++20>" +)]] + +target_compile_options(webrtc PRIVATE + -Wno-shorten-64-to-32 + -Wno-macro-redefined +) + +# platform-specific + +if(${ARCHITECTURE} STREQUAL "armv7l" OR ${ARCHITECTURE} STREQUAL "aarch64") + target_sources(webrtc PRIVATE + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/entropy_coding_neon.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filterbanks_neon.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/filters_neon.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/lattice_neon.c" + "${WEBRTC_DIR}/modules/audio_coding/codecs/isac/fix/source/transform_neon.c" + "${WEBRTC_DIR}/modules/audio_processing/aecm/aecm_core_neon.cc" + "${WEBRTC_DIR}/common_audio/fir_filter_neon.cc" + "${WEBRTC_DIR}/common_audio/signal_processing/cross_correlation_neon.c" + "${WEBRTC_DIR}/common_audio/signal_processing/downsample_fast_neon.c" + "${WEBRTC_DIR}/common_audio/signal_processing/min_max_operations_neon.c" + "${WEBRTC_DIR}/common_audio/resampler/sinc_resampler_neon.cc" + "${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_128/ooura_fft_neon.cc" + ) + if(${ARCHITECTURE} STREQUAL "armv7l") + target_sources(webrtc PRIVATE + "${WEBRTC_DIR}/common_audio/signal_processing/complex_bit_reverse_arm.S" + "${WEBRTC_DIR}/common_audio/signal_processing/filter_ar_fast_q12_armv7.S" + ) + target_compile_definitions(webrtc PRIVATE + WEBRTC_ARCH_ARM + WEBRTC_ARCH_ARM_V7 + WEBRTC_HAS_NEON + LIBYUV_NEON + ) + elseif(${ARCHITECTURE} STREQUAL "aarch64") + target_sources(webrtc PRIVATE + "${WEBRTC_DIR}/common_audio/signal_processing/complex_bit_reverse.c" + "${WEBRTC_DIR}/common_audio/signal_processing/filter_ar_fast_q12.c" + ) + target_compile_definitions(webrtc PRIVATE + WEBRTC_ARCH_ARM64 + WEBRTC_HAS_NEON + LIBYUV_NEON + ) + endif() +elseif(${ARCHITECTURE} STREQUAL "x86_64" OR ${ARCHITECTURE} STREQUAL "x86") + target_sources(webrtc PRIVATE + "${WEBRTC_DIR}/common_audio/fir_filter_sse.cc" + "${WEBRTC_DIR}/common_audio/resampler/sinc_resampler_sse.cc" + "${WEBRTC_DIR}/common_audio/signal_processing/complex_bit_reverse.c" + "${WEBRTC_DIR}/common_audio/signal_processing/filter_ar_fast_q12.c" + "${WEBRTC_DIR}/common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.cc" + ) + target_compile_definitions(webrtc PRIVATE + HAVE_SSE2 + ) +else() + message(FATAL_ERROR "Unknown abi: ${ARCHITECTURE}") +endif() + +target_link_libraries(webrtc PUBLIC + ssl + crypto + usrsctp + srtp + openh264 + absl + avcodec + yuv + opus + vpx +) + +target_include_directories(webrtc PRIVATE + . + "${WEBRTC_DIR}/generated_sources" + "${STUB_DIR}" +) + +target_include_directories(webrtc PUBLIC + "${WEBRTC_DIR}" +) \ No newline at end of file diff --git a/BuildYuv.cmake b/BuildYuv.cmake new file mode 100644 index 0000000..3003c7f --- /dev/null +++ b/BuildYuv.cmake @@ -0,0 +1,75 @@ +# yuv + +set(YUV_DIR "${THIRDPARTY_DIR}/libyuv") + +add_library(yuv STATIC + "${YUV_DIR}/source/compare.cc" + "${YUV_DIR}/source/compare_common.cc" + "${YUV_DIR}/source/compare_gcc.cc" + "${YUV_DIR}/source/compare_mmi.cc" + "${YUV_DIR}/source/compare_msa.cc" + "${YUV_DIR}/source/compare_neon.cc" + "${YUV_DIR}/source/compare_neon64.cc" + "${YUV_DIR}/source/compare_win.cc" + "${YUV_DIR}/source/convert.cc" + "${YUV_DIR}/source/convert_argb.cc" + "${YUV_DIR}/source/convert_from.cc" + "${YUV_DIR}/source/convert_from_argb.cc" + "${YUV_DIR}/source/convert_to_argb.cc" + "${YUV_DIR}/source/convert_to_i420.cc" + "${YUV_DIR}/source/cpu_id.cc" + "${YUV_DIR}/source/planar_functions.cc" + "${YUV_DIR}/source/rotate.cc" + "${YUV_DIR}/source/rotate_any.cc" + "${YUV_DIR}/source/rotate_argb.cc" + "${YUV_DIR}/source/rotate_common.cc" + "${YUV_DIR}/source/rotate_gcc.cc" + "${YUV_DIR}/source/rotate_mmi.cc" + "${YUV_DIR}/source/rotate_msa.cc" + "${YUV_DIR}/source/rotate_neon.cc" + "${YUV_DIR}/source/rotate_neon64.cc" + "${YUV_DIR}/source/rotate_win.cc" + "${YUV_DIR}/source/row_any.cc" + "${YUV_DIR}/source/row_common.cc" + "${YUV_DIR}/source/row_gcc.cc" + "${YUV_DIR}/source/row_mmi.cc" + "${YUV_DIR}/source/row_msa.cc" + "${YUV_DIR}/source/row_neon.cc" + "${YUV_DIR}/source/row_neon64.cc" + "${YUV_DIR}/source/row_win.cc" + "${YUV_DIR}/source/scale.cc" + "${YUV_DIR}/source/scale_any.cc" + "${YUV_DIR}/source/scale_argb.cc" + "${YUV_DIR}/source/scale_common.cc" + "${YUV_DIR}/source/scale_gcc.cc" + "${YUV_DIR}/source/scale_mmi.cc" + "${YUV_DIR}/source/scale_msa.cc" + "${YUV_DIR}/source/scale_neon.cc" + "${YUV_DIR}/source/scale_neon64.cc" + "${YUV_DIR}/source/scale_uv.cc" + "${YUV_DIR}/source/scale_win.cc" + "${YUV_DIR}/source/video_common.cc" +) +if(${ARCHITECTURE} STREQUAL "armv7l") + target_sources(yuv PRIVATE + "${YUV_DIR}/source/compare_neon.cc" + "${YUV_DIR}/source/rotate_neon.cc" + "${YUV_DIR}/source/row_neon.cc" + "${YUV_DIR}/source/scale_neon.cc" + ) + target_compile_definitions(yuv PRIVATE + LIBYUV_NEON + ) +endif() +target_include_directories(yuv PUBLIC + "${YUV_DIR}/include" +) + +target_compile_options(yuv PRIVATE + -fexceptions + -finline-functions -ffast-math + -Os + -fno-unwind-tables -fno-asynchronous-unwind-tables + -Wnon-virtual-dtor -Woverloaded-virtual + -Wno-unused-parameter +) \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..32c492c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR) +project(tgcalls_cli) + +EXECUTE_PROCESS( COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE ) +set(THIRDPARTY_DIR "${CMAKE_HOME_DIRECTORY}/third_party") + +include("${CMAKE_HOME_DIRECTORY}/cmake/ReadVariables.cmake") +include("${CMAKE_HOME_DIRECTORY}/cmake/Prefix.cmake") +include("${CMAKE_HOME_DIRECTORY}/cmake/Join.cmake") + +set(SSL_DIR "${THIRDPARTY_DIR}/boringssl") +set(SSL_LIB_PATH "${SSL_DIR}/build/${ANDROID_ABI}/ssl/libssl.a") +set(CRYPTO_LIB_PATH "${SSL_DIR}/build/${ANDROID_ABI}/crypto/libcrypto.a") + +# crypto +add_library(crypto STATIC IMPORTED) +set_target_properties(crypto PROPERTIES IMPORTED_LOCATION "${CRYPTO_LIB_PATH}") + +# ssl +add_library(ssl STATIC IMPORTED) +set_target_properties(ssl PROPERTIES IMPORTED_LOCATION "${SSL_LIB_PATH}") +target_include_directories(ssl INTERFACE "${SSL_DIR}/include") + +# libtgvoip +include("${CMAKE_HOME_DIRECTORY}/BuildTelegramVoIP.cmake") + +# usrsctp +include("${CMAKE_HOME_DIRECTORY}/BuildUsrSCTP.cmake") + +# srtp +include("${CMAKE_HOME_DIRECTORY}/BuildLibSRTP.cmake") + +# openh264 +include("${CMAKE_HOME_DIRECTORY}/BuildOpenH264.cmake") + +# absl +include("${CMAKE_HOME_DIRECTORY}/BuildAbsl.cmake") + +# webrtc +include("${CMAKE_HOME_DIRECTORY}/BuildWebRTC.cmake") + +# tgcalls +include("${CMAKE_HOME_DIRECTORY}/BuildTgCalls.cmake") + +# yuv +include("${CMAKE_HOME_DIRECTORY}/BuildYuv.cmake") + +# opus +include("${CMAKE_HOME_DIRECTORY}/BuildOpus.cmake") + +# == Linking dependencies == diff --git a/cmake/Join.cmake b/cmake/Join.cmake new file mode 100644 index 0000000..5371cbf --- /dev/null +++ b/cmake/Join.cmake @@ -0,0 +1,12 @@ +function(Join output_var list glue) + set(result "") + foreach(item ${list}) + string(LENGTH "${result}" len) + if (${len} EQUAL 0) + string(APPEND result "${item}") + else() + string(APPEND result "${glue}${item}") + endif() + endforeach() + set(${output_var} "${result}" PARENT_SCOPE) +endfunction(Join) \ No newline at end of file diff --git a/cmake/Prefix.cmake b/cmake/Prefix.cmake new file mode 100644 index 0000000..41b92b6 --- /dev/null +++ b/cmake/Prefix.cmake @@ -0,0 +1,13 @@ +function(Prefix list prefix) + string(REGEX REPLACE "([^;]+)" "${prefix}\\1" newList "${${list}}") + set(${list} "${newList}" PARENT_SCOPE) +endfunction(Prefix) + +function(Transform list regex replacement) + set(newList "") + foreach(line ${${list}}) + string(REGEX REPLACE "${regex}" "${replacement}" newLine "${line}") + list(APPEND newList "${newLine}") + endforeach() + set(${list} "${newList}" PARENT_SCOPE) +endfunction(Transform) \ No newline at end of file diff --git a/cmake/ReadVariables.cmake b/cmake/ReadVariables.cmake new file mode 100644 index 0000000..418b16b --- /dev/null +++ b/cmake/ReadVariables.cmake @@ -0,0 +1,34 @@ +# Simple CMake utility to read variables from MK files +# - Gets contents from given file (name or path) +# - Parses the assignment statements +# - Makes the same assignments in the PARENT_SCOPE + +if(POLICY CMP0007) + cmake_policy(SET CMP0007 NEW) +endif() + +function(ReadVariables MKFile) + file(READ "${MKFile}" FileContents) + string(REGEX REPLACE "\\\\\n *" " " FileContents ${FileContents}) + string(REGEX REPLACE "#[^\n]*" "" FileContents ${FileContents}) + string(STRIP FileContents ${FileContents}) + string(REPLACE "\n" ";" FileLines ${FileContents}) + list(REMOVE_ITEM FileLines "") + foreach(line ${FileLines}) + string(REGEX REPLACE ":?=" ";" line_split ${line}) + list(LENGTH line_split count) + if (count LESS 2) + message(STATUS "Skipping ${line}") + continue() + endif() + list(GET line_split -1 value) + string(STRIP ${value} value) + string(REGEX REPLACE " +" " " value "${value}") + separate_arguments(value) + list(REMOVE_AT line_split -1) + foreach(var_name ${line_split}) + string(STRIP ${var_name} var_name) + set(${var_name} ${value} PARENT_SCOPE) + endforeach() + endforeach() +endfunction() \ No newline at end of file diff --git a/stub/config.h b/stub/config.h new file mode 100644 index 0000000..d15abba --- /dev/null +++ b/stub/config.h @@ -0,0 +1 @@ +// Empty diff --git a/third_party/abseil-cpp b/third_party/abseil-cpp new file mode 160000 index 0000000..f2b5237 --- /dev/null +++ b/third_party/abseil-cpp @@ -0,0 +1 @@ +Subproject commit f2b52372f7f553a4e9b2558daf2d14d3adf484da diff --git a/third_party/boringssl b/third_party/boringssl new file mode 160000 index 0000000..b3c2c75 --- /dev/null +++ b/third_party/boringssl @@ -0,0 +1 @@ +Subproject commit b3c2c756aeec1c4309447f5247f61d435274da4a diff --git a/third_party/crc32c b/third_party/crc32c new file mode 160000 index 0000000..21fc8ef --- /dev/null +++ b/third_party/crc32c @@ -0,0 +1 @@ +Subproject commit 21fc8ef30415a635e7351ffa0e5d5367943d4a94 diff --git a/third_party/libevent b/third_party/libevent new file mode 160000 index 0000000..422a87c --- /dev/null +++ b/third_party/libevent @@ -0,0 +1 @@ +Subproject commit 422a87cd9cfc916fae4b918d63bf2a3d9bc9c40f diff --git a/third_party/libsrtp b/third_party/libsrtp new file mode 160000 index 0000000..8604922 --- /dev/null +++ b/third_party/libsrtp @@ -0,0 +1 @@ +Subproject commit 860492290f7d1f25e2bd45da6471bfd4cd4d7add diff --git a/third_party/libtgvoip b/third_party/libtgvoip new file mode 160000 index 0000000..3df5d62 --- /dev/null +++ b/third_party/libtgvoip @@ -0,0 +1 @@ +Subproject commit 3df5d624cfead0f00069bcc6df1f586ac4e8d21e diff --git a/third_party/libyuv b/third_party/libyuv new file mode 160000 index 0000000..88b050f --- /dev/null +++ b/third_party/libyuv @@ -0,0 +1 @@ +Subproject commit 88b050f337cc0ca2a51800fe7bf4737222c87344 diff --git a/third_party/openh264 b/third_party/openh264 new file mode 160000 index 0000000..a60e28e --- /dev/null +++ b/third_party/openh264 @@ -0,0 +1 @@ +Subproject commit a60e28efe227ea8ea760b1e29a8943e371ebe4b3 diff --git a/third_party/opus b/third_party/opus new file mode 160000 index 0000000..8cf872a --- /dev/null +++ b/third_party/opus @@ -0,0 +1 @@ +Subproject commit 8cf872a186b96085b1bb3a547afd598354ebeb87 diff --git a/third_party/pffft b/third_party/pffft new file mode 160000 index 0000000..de9c9a8 --- /dev/null +++ b/third_party/pffft @@ -0,0 +1 @@ +Subproject commit de9c9a8ab9ade3cff08762f888a7ea24c81ac0dc diff --git a/third_party/rnnoise b/third_party/rnnoise new file mode 160000 index 0000000..3b97c79 --- /dev/null +++ b/third_party/rnnoise @@ -0,0 +1 @@ +Subproject commit 3b97c7947b92ca521de898f444cccf5a66c8552b diff --git a/third_party/tgcalls b/third_party/tgcalls new file mode 160000 index 0000000..5090576 --- /dev/null +++ b/third_party/tgcalls @@ -0,0 +1 @@ +Subproject commit 5090576cde46c2c4e05c264f2e6c1ea7a2771d49 diff --git a/third_party/usrsctp b/third_party/usrsctp new file mode 160000 index 0000000..c1d6cb3 --- /dev/null +++ b/third_party/usrsctp @@ -0,0 +1 @@ +Subproject commit c1d6cb3bf4344e01e7d0b3157f4e7103d55b0fbf diff --git a/third_party/webrtc b/third_party/webrtc new file mode 160000 index 0000000..a5ada0a --- /dev/null +++ b/third_party/webrtc @@ -0,0 +1 @@ +Subproject commit a5ada0a83db11a26d9ac6804d767d30c6d2a0b42