diff --git a/.gitmodules b/.gitmodules index f91bbe4e2f..24e6e37bfb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -26,3 +26,6 @@ url=https://github.com/ali-fareed/webrtc-ios.git [submodule "submodules/TgVoipWebrtc/tgcalls"] path = submodules/TgVoipWebrtc/tgcalls url=../tgcalls.git +[submodule "third-party/libvpx/libvpx"] + path = third-party/libvpx/libvpx + url = https://github.com/webmproject/libvpx.git diff --git a/submodules/Opus/BUILD b/submodules/Opus/BUILD index b3455dc804..cf947785f6 100644 --- a/submodules/Opus/BUILD +++ b/submodules/Opus/BUILD @@ -15,6 +15,7 @@ objc_library( ]), includes = [ "Public", + "Public/opus", ], deps = [ ":opus_lib", diff --git a/third-party/libvpx/BUILD b/third-party/libvpx/BUILD new file mode 100644 index 0000000000..58aa5c2297 --- /dev/null +++ b/third-party/libvpx/BUILD @@ -0,0 +1,99 @@ + +headers = [ + "vp8.h", + "vp8cx.h", + "vp8dx.h", + "vpx_codec.h", + "vpx_decoder.h", + "vpx_encoder.h", + "vpx_frame_buffer.h", + "vpx_image.h", + "vpx_integer.h", + "vpx_version.h", +] + +libs = [ + "VPX", +] + +filegroup( + name = "libvpx_sources", + srcs = glob([ + "libvpx/**/*" + ]), +) + + +genrule( + name = "libvpx_build", + srcs = [ + "build-libvpx-bazel.sh", + ":libvpx_sources", + ], + cmd_bash = + """ + set -ex + + if [ "$(TARGET_CPU)" == "ios_armv7" ]; then + BUILD_ARCH="armv7" + PLATFORM_HEADER_DIR="armv7-darwin-gcc" + elif [ "$(TARGET_CPU)" == "ios_arm64" ]; then + BUILD_ARCH="arm64" + PLATFORM_HEADER_DIR="arm64-darwin-gcc" + elif [ "$(TARGET_CPU)" == "ios_x86_64" ]; then + BUILD_ARCH="x86_64" + PLATFORM_HEADER_DIR="x86_64-iphonesimulator-gcc" + else + echo "Unsupported architecture $(TARGET_CPU)" + fi + + BUILD_DIR="$(RULEDIR)/build_$${BUILD_ARCH}" + rm -rf "$$BUILD_DIR" + mkdir -p "$$BUILD_DIR" + + cp $(location :build-libvpx-bazel.sh) "$$BUILD_DIR/" + + SOURCE_PATH="third-party/libvpx/libvpx" + + cp -R "$$SOURCE_PATH" "$$BUILD_DIR/" + + mkdir -p "$$BUILD_DIR/Public/libvpx" + + sh $$BUILD_DIR/build-libvpx-bazel.sh $$BUILD_ARCH "$$BUILD_DIR/libvpx" "$$BUILD_DIR" + """ + + "\n".join([ + "cp -f \"$$BUILD_DIR/VPX.framework/Headers/vpx/{}\" \"$(location Public/vpx/{})\"".format(header, header) for header in headers + ]) + + "\n" + + "\n".join([ + "cp -f \"$$BUILD_DIR/VPX.framework/{}\" \"$(location Public/vpx/lib{}.a)\"".format(lib, lib) for lib in libs + ]) + + "\n" + "cp -f \"$$BUILD_DIR/VPX.framework/Headers/vpx/$$PLATFORM_HEADER_DIR/vpx_config.h\" \"$(location Public/vpx/vpx_config.h)\"", + outs = ["Public/vpx/" + x for x in headers] + + ["Public/vpx/vpx_config.h"] + + ["Public/vpx/lib{}.a".format(x) for x in libs], + visibility = [ + "//visibility:public", + ] +) + +cc_library( + name = "libvpx_lib", + srcs = [":Public/vpx/lib" + x + ".a" for x in libs], +) + +objc_library( + name = "vpx", + module_name = "vpx", + enable_modules = True, + hdrs = [":Public/vpx/" + x for x in headers], + includes = [ + "Public", + ], + deps = [ + ":libvpx_lib", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/third-party/libvpx/build-libvpx-bazel.sh b/third-party/libvpx/build-libvpx-bazel.sh new file mode 100755 index 0000000000..885f2a2ead --- /dev/null +++ b/third-party/libvpx/build-libvpx-bazel.sh @@ -0,0 +1,173 @@ +#! /bin/sh + +set -e +set -x + +ARCH="$1" + +SOURCE_DIR=$(echo "$(cd "$(dirname "$2")"; pwd -P)/$(basename "$2")") +BUILD_DIR=$(echo "$(cd "$(dirname "$3")"; pwd -P)/$(basename "$3")") + +pushd "$BUILD_DIR" + +set -e +devnull='> /dev/null 2>&1' + +BUILD_ROOT="_iosbuild" +CONFIGURE_ARGS="--disable-docs + --disable-examples + --disable-libyuv + --disable-unit-tests" +DIST_DIR="_dist" +FRAMEWORK_DIR="VPX.framework" +FRAMEWORK_LIB="VPX.framework/VPX" +HEADER_DIR="${FRAMEWORK_DIR}/Headers/vpx" +SCRIPT_DIR="$SOURCE_DIR" +LIBVPX_SOURCE_DIR="$SOURCE_DIR" + + +LIPO=$(xcrun -sdk iphoneos${SDK} -find lipo) + +ORIG_PWD="$(pwd)" + +if [ "$ARCH" = "armv7" ]; then + TARGETS="armv7-darwin-gcc" +elif [ "$ARCH" = "arm64" ]; then + TARGETS="arm64-darwin-gcc" +elif [ "$ARCH" = "x86_64" ]; then + TARGETS="x86_64-iphonesimulator-gcc" +else + echo "Unsupported architecture $ARCH" + exit 1 +fi + +# Configures for the target specified by $1, and invokes make with the dist +# target using $DIST_DIR as the distribution output directory. +build_target() { + local target="$1" + local old_pwd="$(pwd)" + local target_specific_flags="" + + case "${target}" in + x86-*) + target_specific_flags="--enable-pic" + ;; + esac + + mkdir "${target}" + cd "${target}" + eval "${LIBVPX_SOURCE_DIR}/configure" --target="${target}" \ + ${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS} ${target_specific_flags} \ + ${devnull} + export DIST_DIR + eval make dist ${devnull} + cd "${old_pwd}" +} + +# Returns the preprocessor symbol for the target specified by $1. +target_to_preproc_symbol() { + target="$1" + case "${target}" in + arm64-*) + echo "__aarch64__" + ;; + armv7-*) + echo "__ARM_ARCH_7A__" + ;; + x86_64-*) + echo "__x86_64__" + ;; + *) + echo "#error ${target} unknown/unsupported" + return 1 + ;; + esac +} + +# Create a vpx_config.h shim that, based on preprocessor settings for the +# current target CPU, includes the real vpx_config.h for the current target. +# $1 is the list of targets. +create_vpx_framework_config_shim() { + local targets="$1" + local config_file="${HEADER_DIR}/vpx_config.h" + local preproc_symbol="" + local target="" + local include_guard="VPX_FRAMEWORK_HEADERS_VPX_VPX_CONFIG_H_" + + local file_header="/* + * Copyright (c) The WebM project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ +/* GENERATED FILE: DO NOT EDIT! */ +#ifndef ${include_guard} +#define ${include_guard} +#if defined" + + printf "%s" "${file_header}" > "${config_file}" + for target in ${targets}; do + preproc_symbol=$(target_to_preproc_symbol "${target}") + printf " ${preproc_symbol}\n" >> "${config_file}" + printf "#define VPX_FRAMEWORK_TARGET \"${target}\"\n" >> "${config_file}" + printf "#include \"VPX/vpx/${target}/vpx_config.h\"\n" >> "${config_file}" + printf "#elif defined" >> "${config_file}" + mkdir "${HEADER_DIR}/${target}" + cp -p "${BUILD_ROOT}/${target}/vpx_config.h" "${HEADER_DIR}/${target}" + done + + # Consume the last line of output from the loop: We don't want it. + sed -i.bak -e '$d' "${config_file}" + rm "${config_file}.bak" + + printf "#endif\n\n" >> "${config_file}" + printf "#endif // ${include_guard}" >> "${config_file}" +} + +# Configures and builds each target specified by $1, and then builds +# VPX.framework. +build_framework() { + local lib_list="" + local targets="$1" + local target="" + local target_dist_dir="" + + # Clean up from previous build(s). + rm -rf "${BUILD_ROOT}" "${FRAMEWORK_DIR}" + + # Create output dirs. + mkdir -p "${BUILD_ROOT}" + mkdir -p "${HEADER_DIR}" + + cd "${BUILD_ROOT}" + + for target in ${targets}; do + build_target "${target}" + target_dist_dir="${BUILD_ROOT}/${target}/${DIST_DIR}" + local suffix="a" + lib_list="${lib_list} ${target_dist_dir}/lib/libvpx.${suffix}" + done + + cd "${ORIG_PWD}" + + # The basic libvpx API includes are all the same; just grab the most recent + # set. + cp -p "${target_dist_dir}"/include/vpx/* "${HEADER_DIR}" + + # Build the fat library. + ${LIPO} -create ${lib_list} -output ${FRAMEWORK_DIR}/VPX + + # Create the vpx_config.h shim that allows usage of vpx_config.h from + # within VPX.framework. + create_vpx_framework_config_shim "${targets}" + + # Copy in vpx_version.h. + cp -p "${BUILD_ROOT}/${target}/vpx_version.h" "${HEADER_DIR}" +} + +build_framework "${TARGETS}" + +popd \ No newline at end of file diff --git a/third-party/libvpx/libvpx b/third-party/libvpx/libvpx new file mode 160000 index 0000000000..2d20a42ab6 --- /dev/null +++ b/third-party/libvpx/libvpx @@ -0,0 +1 @@ +Subproject commit 2d20a42ab60f8fed37612361f2ea776d0bc7ca1a diff --git a/third-party/webrtc/BUILD b/third-party/webrtc/BUILD index cadb9aa7ff..559c27592e 100644 --- a/third-party/webrtc/BUILD +++ b/third-party/webrtc/BUILD @@ -70,7 +70,1972 @@ genrule( ) cc_library( - name = "webrtc_lib", + name = "webrtc_lib_gn", srcs = [":" + x for x in webrtc_libs], visibility = ["//visibility:public"], ) + +rnnoice_sources = [ + "third_party/rnnoise/src/rnn_vad_weights.cc", +] + +pffft_sources = [ + "third_party/pffft/src/fftpack.c", + "third_party/pffft/src/pffft.c", +] + +libvpx_source = [ + "third_party/libvpx/source/libvpx/args.c", + "third_party/libvpx/source/libvpx/ivfdec.c", + "third_party/libvpx/source/libvpx/ivfenc.c", + "third_party/libvpx/source/libvpx/md5_utils.c", + "third_party/libvpx/source/libvpx/rate_hist.c", + "third_party/libvpx/source/libvpx/tools_common.c", + "third_party/libvpx/source/libvpx/video_reader.c", + "third_party/libvpx/source/libvpx/video_writer.c", + "third_party/libvpx/source/libvpx/vp8/common/alloccommon.c", + "third_party/libvpx/source/libvpx/vp8/common/blockd.c", + "third_party/libvpx/source/libvpx/vp8/common/context.c", + "third_party/libvpx/source/libvpx/vp8/common/debugmodes.c", + "third_party/libvpx/source/libvpx/vp8/common/dequantize.c", + "third_party/libvpx/source/libvpx/vp8/common/entropy.c", + "third_party/libvpx/source/libvpx/vp8/common/entropymode.c", + "third_party/libvpx/source/libvpx/vp8/common/entropymv.c", + "third_party/libvpx/source/libvpx/vp8/common/extend.c", + "third_party/libvpx/source/libvpx/vp8/common/filter.c", + "third_party/libvpx/source/libvpx/vp8/common/findnearmv.c", + "third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c", + "third_party/libvpx/source/libvpx/vp8/common/idct_blk.c", + "third_party/libvpx/source/libvpx/vp8/common/idctllm.c", + "third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c", + "third_party/libvpx/source/libvpx/vp8/common/mbpitch.c", + "third_party/libvpx/source/libvpx/vp8/common/mfqe.c", + "third_party/libvpx/source/libvpx/vp8/common/modecont.c", + "third_party/libvpx/source/libvpx/vp8/common/postproc.c", + "third_party/libvpx/source/libvpx/vp8/common/quant_common.c", + "third_party/libvpx/source/libvpx/vp8/common/reconinter.c", + "third_party/libvpx/source/libvpx/vp8/common/reconintra.c", + "third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c", + "third_party/libvpx/source/libvpx/vp8/common/rtcd.c", + "third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c", + "third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c", + "third_party/libvpx/source/libvpx/vp8/common/treecoder.c", + "third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c", + "third_party/libvpx/source/libvpx/vp8/common/vp8_skin_detection.c", + "third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c", + "third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c", + "third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c", + "third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c", + "third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c", + "third_party/libvpx/source/libvpx/vp8/decoder/threading.c", + "third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c", + "third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c", + "third_party/libvpx/source/libvpx/vp8/encoder/copy_c.c", + "third_party/libvpx/source/libvpx/vp8/encoder/dct.c", + "third_party/libvpx/source/libvpx/vp8/encoder/denoising.c", + "third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c", + "third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c", + "third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c", + "third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c", + "third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c", + "third_party/libvpx/source/libvpx/vp8/encoder/firstpass.c", + "third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c", + "third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c", + "third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c", + "third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c", + "third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c", + "third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c", + "third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c", + "third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c", + "third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c", + "third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c", + "third_party/libvpx/source/libvpx/vp8/encoder/temporal_filter.c", + "third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c", + "third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c", + "third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c", + "third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c", + "third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c", + "third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c", + "third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c", + "third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c", + "third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c", + "third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c", + "third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c", + "third_party/libvpx/source/libvpx/vp9/decoder/vp9_job_queue.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_alt_ref_aq.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_360.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_blockiness.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_frame_scale.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_multi_thread.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_noise_estimate.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_non_greedy_mv.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c", + "third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c", + "third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c", + "third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c", + "third_party/libvpx/source/libvpx/vp9/vp9_iface_common.c", + "third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c", + "third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c", + "third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c", + "third_party/libvpx/source/libvpx/vpx/src/vpx_image.c", + "third_party/libvpx/source/libvpx/vpx_dsp/add_noise.c", + "third_party/libvpx/source/libvpx/vpx_dsp/avg.c", + "third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c", + "third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c", + "third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c", + "third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c", + "third_party/libvpx/source/libvpx/vpx_dsp/deblock.c", + "third_party/libvpx/source/libvpx/vpx_dsp/fastssim.c", + "third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c", + "third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c", + "third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c", + "third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c", + "third_party/libvpx/source/libvpx/vpx_dsp/prob.c", + "third_party/libvpx/source/libvpx/vpx_dsp/psnr.c", + "third_party/libvpx/source/libvpx/vpx_dsp/psnrhvs.c", + "third_party/libvpx/source/libvpx/vpx_dsp/quantize.c", + "third_party/libvpx/source/libvpx/vpx_dsp/sad.c", + "third_party/libvpx/source/libvpx/vpx_dsp/skin_detection.c", + "third_party/libvpx/source/libvpx/vpx_dsp/ssim.c", + "third_party/libvpx/source/libvpx/vpx_dsp/subtract.c", + "third_party/libvpx/source/libvpx/vpx_dsp/sum_squares.c", + "third_party/libvpx/source/libvpx/vpx_dsp/variance.c", + "third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c", + "third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c", + "third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c", + "third_party/libvpx/source/libvpx/vpx_ports/arm_cpudetect.c", + "third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c", + "third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c", + "third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c", + "third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c", + "third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c", + "third_party/libvpx/source/libvpx/vpx_util/vpx_debug_util.c", + "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c", + "third_party/libvpx/source/libvpx/vpx_util/vpx_write_yuv_frame.c", + "third_party/libvpx/source/libvpx/vpxdec.c", + "third_party/libvpx/source/libvpx/vpxenc.c", + "third_party/libvpx/source/libvpx/vpxstats.c", + "third_party/libvpx/source/libvpx/warnings.c", + "third_party/libvpx/source/libvpx/y4menc.c", + "third_party/libvpx/source/libvpx/y4minput.c", +] + +absl_sources = [ + "third_party/abseil-cpp/absl/base/dynamic_annotations.cc", + "third_party/abseil-cpp/absl/base/internal/cycleclock.cc", + #"third_party/abseil-cpp/absl/base/internal/exception_safety_testing.cc", + "third_party/abseil-cpp/absl/base/internal/exponential_biased.cc", + "third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc", + "third_party/abseil-cpp/absl/base/internal/periodic_sampler.cc", + "third_party/abseil-cpp/absl/base/internal/raw_logging.cc", + "third_party/abseil-cpp/absl/base/internal/scoped_set_env.cc", + "third_party/abseil-cpp/absl/base/internal/spinlock.cc", + "third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc", + "third_party/abseil-cpp/absl/base/internal/strerror.cc", + "third_party/abseil-cpp/absl/base/internal/sysinfo.cc", + "third_party/abseil-cpp/absl/base/internal/thread_identity.cc", + "third_party/abseil-cpp/absl/base/internal/throw_delegate.cc", + "third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc", + "third_party/abseil-cpp/absl/base/log_severity.cc", + "third_party/abseil-cpp/absl/container/internal/hash_generator_testing.cc", + "third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc", + "third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc", + "third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc", + "third_party/abseil-cpp/absl/container/internal/test_instance_tracker.cc", + "third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc", + "third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc", + "third_party/abseil-cpp/absl/debugging/internal/demangle.cc", + "third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc", + "third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc", + "third_party/abseil-cpp/absl/debugging/internal/stack_consumption.cc", + "third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc", + "third_party/abseil-cpp/absl/debugging/leak_check.cc", + "third_party/abseil-cpp/absl/debugging/leak_check_disable.cc", + "third_party/abseil-cpp/absl/debugging/stacktrace.cc", + "third_party/abseil-cpp/absl/debugging/symbolize.cc", + "third_party/abseil-cpp/absl/flags/flag.cc", + "third_party/abseil-cpp/absl/flags/flag_test_defs.cc", + "third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc", + "third_party/abseil-cpp/absl/flags/internal/flag.cc", + "third_party/abseil-cpp/absl/flags/internal/program_name.cc", + "third_party/abseil-cpp/absl/flags/internal/registry.cc", + "third_party/abseil-cpp/absl/flags/internal/type_erased.cc", + "third_party/abseil-cpp/absl/flags/internal/usage.cc", + "third_party/abseil-cpp/absl/flags/marshalling.cc", + "third_party/abseil-cpp/absl/flags/parse.cc", + "third_party/abseil-cpp/absl/flags/usage.cc", + "third_party/abseil-cpp/absl/flags/usage_config.cc", + "third_party/abseil-cpp/absl/hash/internal/city.cc", + "third_party/abseil-cpp/absl/hash/internal/hash.cc", + "third_party/abseil-cpp/absl/numeric/int128.cc", + "third_party/abseil-cpp/absl/random/discrete_distribution.cc", + "third_party/abseil-cpp/absl/random/gaussian_distribution.cc", + "third_party/abseil-cpp/absl/random/internal/chi_square.cc", + "third_party/abseil-cpp/absl/random/internal/distribution_test_util.cc", + "third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc", + "third_party/abseil-cpp/absl/random/internal/pool_urbg.cc", + "third_party/abseil-cpp/absl/random/internal/randen.cc", + "third_party/abseil-cpp/absl/random/internal/randen_detect.cc", + "third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc", + "third_party/abseil-cpp/absl/random/internal/randen_slow.cc", + "third_party/abseil-cpp/absl/random/internal/seed_material.cc", + "third_party/abseil-cpp/absl/random/seed_gen_exception.cc", + "third_party/abseil-cpp/absl/random/seed_sequences.cc", + "third_party/abseil-cpp/absl/status/status.cc", + "third_party/abseil-cpp/absl/status/status_payload_printer.cc", + "third_party/abseil-cpp/absl/strings/ascii.cc", + "third_party/abseil-cpp/absl/strings/charconv.cc", + "third_party/abseil-cpp/absl/strings/cord.cc", + "third_party/abseil-cpp/absl/strings/escaping.cc", + "third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc", + "third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc", + "third_party/abseil-cpp/absl/strings/internal/escaping.cc", + "third_party/abseil-cpp/absl/strings/internal/memutil.cc", + "third_party/abseil-cpp/absl/strings/internal/ostringstream.cc", + "third_party/abseil-cpp/absl/strings/internal/pow10_helper.cc", + "third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc", + "third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc", + "third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc", + "third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc", + "third_party/abseil-cpp/absl/strings/internal/str_format/output.cc", + "third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc", + "third_party/abseil-cpp/absl/strings/internal/utf8.cc", + "third_party/abseil-cpp/absl/strings/match.cc", + "third_party/abseil-cpp/absl/strings/numbers.cc", + "third_party/abseil-cpp/absl/strings/str_cat.cc", + "third_party/abseil-cpp/absl/strings/str_replace.cc", + "third_party/abseil-cpp/absl/strings/str_split.cc", + "third_party/abseil-cpp/absl/strings/string_view.cc", + "third_party/abseil-cpp/absl/strings/substitute.cc", + "third_party/abseil-cpp/absl/synchronization/barrier.cc", + "third_party/abseil-cpp/absl/synchronization/blocking_counter.cc", + "third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc", + "third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc", + "third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc", + "third_party/abseil-cpp/absl/synchronization/internal/waiter.cc", + "third_party/abseil-cpp/absl/synchronization/mutex.cc", + "third_party/abseil-cpp/absl/synchronization/notification.cc", + "third_party/abseil-cpp/absl/time/civil_time.cc", + "third_party/abseil-cpp/absl/time/clock.cc", + "third_party/abseil-cpp/absl/time/duration.cc", + "third_party/abseil-cpp/absl/time/format.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc", + "third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc", + "third_party/abseil-cpp/absl/time/internal/test_util.cc", + "third_party/abseil-cpp/absl/time/time.cc", + "third_party/abseil-cpp/absl/types/bad_any_cast.cc", + "third_party/abseil-cpp/absl/types/bad_optional_access.cc", + "third_party/abseil-cpp/absl/types/bad_variant_access.cc", +] + +webrtc_sources = [ + "rtc_base/async_invoker.cc", + "rtc_base/async_packet_socket.cc", + "rtc_base/async_resolver_interface.cc", + "rtc_base/async_socket.cc", + "rtc_base/async_tcp_socket.cc", + "rtc_base/async_udp_socket.cc", + "rtc_base/bit_buffer.cc", + "rtc_base/buffer_queue.cc", + "rtc_base/byte_buffer.cc", + "rtc_base/checks.cc", + "rtc_base/copy_on_write_buffer.cc", + "rtc_base/crc32.cc", + "rtc_base/critical_section.cc", + "rtc_base/crypt_string.cc", + "rtc_base/data_rate_limiter.cc", + "rtc_base/event.cc", + "rtc_base/event_tracer.cc", + "rtc_base/experiments/alr_experiment.cc", + "rtc_base/experiments/balanced_degradation_settings.cc", + "rtc_base/experiments/cpu_speed_experiment.cc", + "rtc_base/experiments/experimental_screenshare_settings.cc", + "rtc_base/experiments/field_trial_list.cc", + "rtc_base/experiments/field_trial_parser.cc", + "rtc_base/experiments/field_trial_units.cc", + "rtc_base/experiments/jitter_upper_bound_experiment.cc", + "rtc_base/experiments/keyframe_interval_settings.cc", + "rtc_base/experiments/min_video_bitrate_experiment.cc", + "rtc_base/experiments/normalize_simulcast_size_experiment.cc", + "rtc_base/experiments/quality_rampup_experiment.cc", + "rtc_base/experiments/quality_scaler_settings.cc", + "rtc_base/experiments/quality_scaling_experiment.cc", + "rtc_base/experiments/rate_control_settings.cc", + "rtc_base/experiments/rtt_mult_experiment.cc", + "rtc_base/experiments/stable_target_rate_experiment.cc", + "rtc_base/experiments/struct_parameters_parser.cc", + "rtc_base/file_rotating_stream.cc", + "rtc_base/helpers.cc", + "rtc_base/http_common.cc", + "rtc_base/ifaddrs_converter.cc", + "rtc_base/ip_address.cc", + "rtc_base/location.cc", + "rtc_base/log_sinks.cc", + "rtc_base/logging.cc", + "rtc_base/memory/aligned_malloc.cc", + "rtc_base/memory/fifo_buffer.cc", + "rtc_base/message_digest.cc", + "rtc_base/message_handler.cc", + "rtc_base/net_helper.cc", + "rtc_base/net_helpers.cc", + "rtc_base/network.cc", + "rtc_base/network/sent_packet.cc", + "rtc_base/network_constants.cc", + "rtc_base/network_monitor.cc", + "rtc_base/network_route.cc", + "rtc_base/null_socket_server.cc", + "rtc_base/numerics/event_based_exponential_moving_average.cc", + "rtc_base/numerics/event_rate_counter.cc", + "rtc_base/numerics/exp_filter.cc", + "rtc_base/numerics/histogram_percentile_counter.cc", + "rtc_base/numerics/moving_average.cc", + "rtc_base/numerics/sample_counter.cc", + "rtc_base/numerics/sample_stats.cc", + "rtc_base/numerics/samples_stats_counter.cc", + "rtc_base/openssl_adapter.cc", + "rtc_base/openssl_certificate.cc", + "rtc_base/openssl_digest.cc", + "rtc_base/openssl_identity.cc", + "rtc_base/openssl_session_cache.cc", + "rtc_base/openssl_stream_adapter.cc", + "rtc_base/openssl_utility.cc", + "rtc_base/operations_chain.cc", + "rtc_base/physical_socket_server.cc", + "rtc_base/platform_thread.cc", + "rtc_base/platform_thread_types.cc", + "rtc_base/proxy_info.cc", + "rtc_base/race_checker.cc", + "rtc_base/random.cc", + "rtc_base/rate_limiter.cc", + "rtc_base/rate_statistics.cc", + "rtc_base/rate_tracker.cc", + "rtc_base/rtc_certificate.cc", + "rtc_base/rtc_certificate_generator.cc", + "rtc_base/signal_thread.cc", + "rtc_base/socket.cc", + "rtc_base/socket_adapters.cc", + "rtc_base/socket_address.cc", + "rtc_base/socket_address_pair.cc", + "rtc_base/ssl_adapter.cc", + "rtc_base/ssl_certificate.cc", + "rtc_base/ssl_fingerprint.cc", + "rtc_base/ssl_identity.cc", + "rtc_base/ssl_stream_adapter.cc", + "rtc_base/stream.cc", + "rtc_base/string_encode.cc", + "rtc_base/string_to_number.cc", + "rtc_base/string_utils.cc", + "rtc_base/strings/audio_format_to_string.cc", + "rtc_base/strings/string_builder.cc", + "rtc_base/synchronization/rw_lock_posix.cc", + "rtc_base/synchronization/rw_lock_wrapper.cc", + "rtc_base/synchronization/sequence_checker.cc", + "rtc_base/synchronization/yield_policy.cc", + "rtc_base/system/file_wrapper.cc", + "rtc_base/task_queue.cc", + "rtc_base/task_queue_libevent.cc", + "rtc_base/task_queue_stdlib.cc", + "rtc_base/task_utils/repeating_task.cc", + "rtc_base/third_party/base64/base64.cc", + "rtc_base/third_party/sigslot/sigslot.cc", + "rtc_base/thread.cc", + "rtc_base/time/timestamp_extrapolator.cc", + "rtc_base/time_utils.cc", + "rtc_base/timestamp_aligner.cc", + "rtc_base/unique_id_generator.cc", + "rtc_base/weak_ptr.cc", + "rtc_base/zero_memory.cc", + "api/audio/audio_frame.cc", + "api/audio/channel_layout.cc", + "api/audio/echo_canceller3_config.cc", + "api/audio/echo_canceller3_factory.cc", + "api/audio_codecs/L16/audio_decoder_L16.cc", + "api/audio_codecs/L16/audio_encoder_L16.cc", + "api/audio_codecs/audio_codec_pair_id.cc", + "api/audio_codecs/audio_decoder.cc", + "api/audio_codecs/audio_encoder.cc", + "api/audio_codecs/audio_format.cc", + "api/audio_codecs/builtin_audio_decoder_factory.cc", + "api/audio_codecs/builtin_audio_encoder_factory.cc", + "api/audio_codecs/g711/audio_decoder_g711.cc", + "api/audio_codecs/g711/audio_encoder_g711.cc", + "api/audio_codecs/g722/audio_decoder_g722.cc", + "api/audio_codecs/g722/audio_encoder_g722.cc", + "api/audio_codecs/ilbc/audio_decoder_ilbc.cc", + "api/audio_codecs/ilbc/audio_encoder_ilbc.cc", + "api/audio_codecs/isac/audio_decoder_isac_fix.cc", + "api/audio_codecs/isac/audio_decoder_isac_float.cc", + "api/audio_codecs/isac/audio_encoder_isac_fix.cc", + "api/audio_codecs/isac/audio_encoder_isac_float.cc", + "api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc", + "api/audio_codecs/opus/audio_decoder_opus.cc", + "api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc", + "api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc", + "api/audio_codecs/opus/audio_encoder_opus.cc", + "api/audio_codecs/opus/audio_encoder_opus_config.cc", + "api/audio_codecs/opus_audio_decoder_factory.cc", + "api/audio_codecs/opus_audio_encoder_factory.cc", + "api/audio_options.cc", + "api/call/transport.cc", + "api/candidate.cc", + "api/create_peerconnection_factory.cc", + "api/crypto/crypto_options.cc", + "api/data_channel_interface.cc", + "api/dtls_transport_interface.cc", + "api/ice_transport_factory.cc", + "api/jsep.cc", + "api/jsep_ice_candidate.cc", + "api/media_stream_interface.cc", + "api/media_types.cc", + "api/neteq/custom_neteq_factory.cc", + "api/neteq/default_neteq_controller_factory.cc", + "api/neteq/neteq.cc", + "api/neteq/tick_timer.cc", + "api/peer_connection_interface.cc", + "api/proxy.cc", + "api/rtc_error.cc", + "api/rtc_event_log/rtc_event.cc", + "api/rtc_event_log/rtc_event_log.cc", + "api/rtc_event_log/rtc_event_log_factory.cc", + "api/rtc_event_log_output_file.cc", + "api/rtp_headers.cc", + "api/rtp_packet_info.cc", + "api/rtp_parameters.cc", + "api/rtp_receiver_interface.cc", + "api/rtp_sender_interface.cc", + "api/rtp_transceiver_interface.cc", + "api/sctp_transport_interface.cc", + "api/stats_types.cc", + "api/task_queue/default_task_queue_factory_libevent.cc", + "api/task_queue/task_queue_base.cc", + "api/transport/bitrate_settings.cc", + "api/transport/field_trial_based_config.cc", + "api/transport/goog_cc_factory.cc", + "api/transport/media/audio_transport.cc", + "api/transport/media/media_transport_config.cc", + "api/transport/media/media_transport_interface.cc", + "api/transport/media/video_transport.cc", + "api/transport/network_types.cc", + "api/transport/stun.cc", + "api/units/data_rate.cc", + "api/units/data_size.cc", + "api/units/frequency.cc", + "api/units/time_delta.cc", + "api/units/timestamp.cc", + "api/video/builtin_video_bitrate_allocator_factory.cc", + "api/video/color_space.cc", + "api/video/encoded_frame.cc", + "api/video/encoded_image.cc", + "api/video/hdr_metadata.cc", + "api/video/i010_buffer.cc", + "api/video/i420_buffer.cc", + "api/video/video_bitrate_allocation.cc", + "api/video/video_bitrate_allocator.cc", + "api/video/video_content_type.cc", + "api/video/video_frame.cc", + "api/video/video_frame_buffer.cc", + "api/video/video_source_interface.cc", + "api/video/video_stream_decoder_create.cc", + "api/video/video_stream_encoder_create.cc", + "api/video/video_stream_encoder_observer.cc", + "api/video/video_timing.cc", + "api/video_codecs/builtin_video_decoder_factory.cc", + "api/video_codecs/builtin_video_encoder_factory.cc", + "api/video_codecs/sdp_video_format.cc", + "api/video_codecs/video_codec.cc", + "api/video_codecs/video_decoder.cc", + "api/video_codecs/video_decoder_factory.cc", + "api/video_codecs/video_decoder_software_fallback_wrapper.cc", + "api/video_codecs/video_encoder.cc", + "api/video_codecs/video_encoder_config.cc", + "api/video_codecs/video_encoder_software_fallback_wrapper.cc", + "api/video_codecs/vp8_frame_config.cc", + "api/video_codecs/vp8_temporal_layers.cc", + "api/video_codecs/vp8_temporal_layers_factory.cc", + "pc/audio_rtp_receiver.cc", + "pc/audio_track.cc", + "pc/channel.cc", + "pc/channel_manager.cc", + "pc/composite_data_channel_transport.cc", + "pc/composite_rtp_transport.cc", + "pc/data_channel.cc", + "pc/data_channel_controller.cc", + "pc/datagram_rtp_transport.cc", + "pc/dtls_srtp_transport.cc", + "pc/dtls_transport.cc", + "pc/dtmf_sender.cc", + "pc/external_hmac.cc", + "pc/ice_server_parsing.cc", + "pc/ice_transport.cc", + "pc/jitter_buffer_delay.cc", + "pc/jsep_ice_candidate.cc", + "pc/jsep_session_description.cc", + "pc/jsep_transport.cc", + "pc/jsep_transport_controller.cc", + "pc/local_audio_source.cc", + "pc/media_protocol_names.cc", + "pc/media_session.cc", + "pc/media_stream.cc", + "pc/media_stream_observer.cc", + "pc/peer_connection.cc", + "pc/peer_connection_factory.cc", + "pc/remote_audio_source.cc", + "pc/rtc_stats_collector.cc", + "pc/rtc_stats_traversal.cc", + "pc/rtcp_mux_filter.cc", + "pc/rtp_media_utils.cc", + "pc/rtp_parameters_conversion.cc", + "pc/rtp_receiver.cc", + "pc/rtp_sender.cc", + "pc/rtp_transceiver.cc", + "pc/rtp_transport.cc", + "pc/sctp_data_channel_transport.cc", + "pc/sctp_transport.cc", + "pc/sctp_utils.cc", + "pc/sdp_serializer.cc", + "pc/sdp_utils.cc", + "pc/session_description.cc", + "pc/simulcast_description.cc", + "pc/srtp_filter.cc", + "pc/srtp_session.cc", + "pc/srtp_transport.cc", + "pc/stats_collector.cc", + "pc/track_media_info_map.cc", + "pc/transport_stats.cc", + "pc/video_rtp_receiver.cc", + "pc/video_rtp_track_source.cc", + "pc/video_track.cc", + "pc/video_track_source.cc", + "pc/webrtc_sdp.cc", + "pc/webrtc_session_description_factory.cc", + "media/base/adapted_video_track_source.cc", + "media/base/codec.cc", + "media/base/h264_profile_level_id.cc", + "media/base/media_channel.cc", + "media/base/media_constants.cc", + "media/base/media_engine.cc", + "media/base/rid_description.cc", + "media/base/rtp_data_engine.cc", + "media/base/rtp_utils.cc", + "media/base/sdp_fmtp_utils.cc", + "media/base/stream_params.cc", + "media/base/turn_utils.cc", + "media/base/video_adapter.cc", + "media/base/video_broadcaster.cc", + "media/base/video_common.cc", + "media/base/video_source_base.cc", + "media/base/vp9_profile.cc", + "media/engine/adm_helpers.cc", + "media/engine/constants.cc", + "media/engine/encoder_simulcast_proxy.cc", + "media/engine/internal_decoder_factory.cc", + "media/engine/internal_encoder_factory.cc", + "media/engine/multiplex_codec_factory.cc", + "media/engine/payload_type_mapper.cc", + "media/engine/simulcast.cc", + "media/engine/simulcast_encoder_adapter.cc", + "media/engine/unhandled_packets_buffer.cc", + "media/engine/webrtc_media_engine.cc", + "media/engine/webrtc_media_engine_defaults.cc", + "media/engine/webrtc_video_engine.cc", + "media/engine/webrtc_voice_engine.cc", + "media/sctp/noop.cc", + "media/sctp/sctp_transport.cc", + "system_wrappers/source/clock.cc", + "system_wrappers/source/cpu_features.cc", + "system_wrappers/source/cpu_info.cc", + "system_wrappers/source/field_trial.cc", + "system_wrappers/source/metrics.cc", + "system_wrappers/source/rtp_to_ntp_estimator.cc", + "system_wrappers/source/sleep.cc", + "modules/audio_coding/acm2/acm_receiver.cc", + "modules/audio_coding/acm2/acm_remixing.cc", + "modules/audio_coding/acm2/acm_resampler.cc", + "modules/audio_coding/acm2/audio_coding_module.cc", + "modules/audio_coding/acm2/call_statistics.cc", + "modules/audio_coding/audio_network_adaptor/audio_network_adaptor_config.cc", + "modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.cc", + "modules/audio_coding/audio_network_adaptor/bitrate_controller.cc", + "modules/audio_coding/audio_network_adaptor/channel_controller.cc", + "modules/audio_coding/audio_network_adaptor/controller.cc", + "modules/audio_coding/audio_network_adaptor/controller_manager.cc", + "modules/audio_coding/audio_network_adaptor/debug_dump_writer.cc", + "modules/audio_coding/audio_network_adaptor/dtx_controller.cc", + "modules/audio_coding/audio_network_adaptor/event_log_writer.cc", + "modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.cc", + "modules/audio_coding/audio_network_adaptor/frame_length_controller.cc", + "modules/audio_coding/codecs/cng/audio_encoder_cng.cc", + "modules/audio_coding/codecs/cng/webrtc_cng.cc", + "modules/audio_coding/codecs/g711/g711_interface.c", + "modules/audio_coding/codecs/g711/audio_decoder_pcm.cc", + "modules/audio_coding/codecs/g711/audio_encoder_pcm.cc", + "modules/audio_coding/codecs/g722/audio_decoder_g722.cc", + "modules/audio_coding/codecs/g722/audio_encoder_g722.cc", + "modules/audio_coding/codecs/g722/g722_interface.c", + "modules/audio_coding/codecs/pcm16b/pcm16b.c", + "modules/third_party/g711/g711.c", + "modules/third_party/g722/g722_decode.c", + "modules/third_party/g722/g722_encode.c", + "modules/third_party/fft/fft.c", + "modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.cc", + "modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc", + "modules/audio_coding/codecs/isac/empty.cc", + "modules/audio_coding/codecs/isac/fix/source/audio_decoder_isacfix.cc", + "modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc", + "modules/audio_coding/codecs/isac/fix/source/isacfix.c", + "modules/audio_coding/codecs/isac/fix/source/arith_routines.c", + "modules/audio_coding/codecs/isac/fix/source/arith_routines_hist.c", + "modules/audio_coding/codecs/isac/fix/source/arith_routines_logist.c", + "modules/audio_coding/codecs/isac/fix/source/bandwidth_estimator.c", + "modules/audio_coding/codecs/isac/fix/source/decode.c", + "modules/audio_coding/codecs/isac/fix/source/decode_bwe.c", + "modules/audio_coding/codecs/isac/fix/source/decode_plc.c", + "modules/audio_coding/codecs/isac/fix/source/encode.c", + "modules/audio_coding/codecs/isac/fix/source/entropy_coding.c", + "modules/audio_coding/codecs/isac/fix/source/fft.c", + "modules/audio_coding/codecs/isac/fix/source/filterbank_tables.c", + "modules/audio_coding/codecs/isac/fix/source/filterbanks.c", + "modules/audio_coding/codecs/isac/fix/source/filters.c", + "modules/audio_coding/codecs/isac/fix/source/initialize.c", + "modules/audio_coding/codecs/isac/fix/source/lattice.c", + "modules/audio_coding/codecs/isac/fix/source/lattice_c.c", + "modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.c", + "modules/audio_coding/codecs/isac/fix/source/lpc_tables.c", + "modules/audio_coding/codecs/isac/fix/source/pitch_estimator.c", + "modules/audio_coding/codecs/isac/fix/source/pitch_estimator_c.c", + "modules/audio_coding/codecs/isac/fix/source/pitch_filter.c", + "modules/audio_coding/codecs/isac/fix/source/pitch_filter_c.c", + "modules/audio_coding/codecs/isac/fix/source/pitch_gain_tables.c", + "modules/audio_coding/codecs/isac/fix/source/pitch_lag_tables.c", + "modules/audio_coding/codecs/isac/fix/source/spectrum_ar_model_tables.c", + "modules/audio_coding/codecs/isac/fix/source/transform.c", + "modules/audio_coding/codecs/isac/fix/source/transform_tables.c", + "modules/audio_coding/codecs/isac/main/source/audio_decoder_isac.cc", + "modules/audio_coding/codecs/isac/main/source/audio_encoder_isac.cc", + "modules/audio_coding/codecs/isac/main/source/arith_routines.c", + "modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c", + "modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c", + "modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c", + "modules/audio_coding/codecs/isac/main/source/crc.c", + "modules/audio_coding/codecs/isac/main/source/decode.c", + "modules/audio_coding/codecs/isac/main/source/decode_bwe.c", + "modules/audio_coding/codecs/isac/main/source/encode.c", + "modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c", + "modules/audio_coding/codecs/isac/main/source/entropy_coding.c", + "modules/audio_coding/codecs/isac/main/source/filter_functions.c", + "modules/audio_coding/codecs/isac/main/source/filterbanks.c", + "modules/audio_coding/codecs/isac/main/source/intialize.c", + "modules/audio_coding/codecs/isac/main/source/isac.c", + "modules/audio_coding/codecs/isac/main/source/isac_vad.c", + "modules/audio_coding/codecs/isac/main/source/lattice.c", + "modules/audio_coding/codecs/isac/main/source/lpc_analysis.c", + "modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c", + "modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c", + "modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c", + "modules/audio_coding/codecs/isac/main/source/lpc_tables.c", + "modules/audio_coding/codecs/isac/main/source/pitch_estimator.c", + "modules/audio_coding/codecs/isac/main/source/pitch_filter.c", + "modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c", + "modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c", + "modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c", + "modules/audio_coding/codecs/isac/main/source/transform.c", + "modules/audio_coding/codecs/isac/main/util/utility.c", + "modules/audio_coding/codecs/legacy_encoded_audio_frame.cc", + "modules/audio_coding/codecs/opus/audio_coder_opus_common.cc", + "modules/audio_coding/codecs/opus/audio_decoder_multi_channel_opus_impl.cc", + "modules/audio_coding/codecs/opus/audio_decoder_opus.cc", + "modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.cc", + "modules/audio_coding/codecs/opus/audio_encoder_opus.cc", + "modules/audio_coding/codecs/opus/opus_interface.cc", + "modules/audio_coding/codecs/opus/test/audio_ring_buffer.cc", + "modules/audio_coding/codecs/opus/test/blocker.cc", + "modules/audio_coding/codecs/opus/test/lapped_transform.cc", + "modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc", + "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.cc", + "modules/audio_coding/codecs/pcm16b/pcm16b_common.cc", + "modules/audio_coding/codecs/red/audio_encoder_copy_red.cc", + "modules/audio_coding/codecs/ilbc/abs_quant.c", + "modules/audio_coding/codecs/ilbc/abs_quant_loop.c", + "modules/audio_coding/codecs/ilbc/augmented_cb_corr.c", + "modules/audio_coding/codecs/ilbc/bw_expand.c", + "modules/audio_coding/codecs/ilbc/cb_construct.c", + "modules/audio_coding/codecs/ilbc/cb_mem_energy.c", + "modules/audio_coding/codecs/ilbc/cb_mem_energy_augmentation.c", + "modules/audio_coding/codecs/ilbc/cb_mem_energy_calc.c", + "modules/audio_coding/codecs/ilbc/cb_search.c", + "modules/audio_coding/codecs/ilbc/cb_search_core.c", + "modules/audio_coding/codecs/ilbc/cb_update_best_index.c", + "modules/audio_coding/codecs/ilbc/chebyshev.c", + "modules/audio_coding/codecs/ilbc/comp_corr.c", + "modules/audio_coding/codecs/ilbc/constants.c", + "modules/audio_coding/codecs/ilbc/create_augmented_vec.c", + "modules/audio_coding/codecs/ilbc/decode.c", + "modules/audio_coding/codecs/ilbc/decode_residual.c", + "modules/audio_coding/codecs/ilbc/decoder_interpolate_lsf.c", + "modules/audio_coding/codecs/ilbc/do_plc.c", + "modules/audio_coding/codecs/ilbc/encode.c", + "modules/audio_coding/codecs/ilbc/energy_inverse.c", + "modules/audio_coding/codecs/ilbc/enh_upsample.c", + "modules/audio_coding/codecs/ilbc/enhancer.c", + "modules/audio_coding/codecs/ilbc/enhancer_interface.c", + "modules/audio_coding/codecs/ilbc/filtered_cb_vecs.c", + "modules/audio_coding/codecs/ilbc/frame_classify.c", + "modules/audio_coding/codecs/ilbc/gain_dequant.c", + "modules/audio_coding/codecs/ilbc/gain_quant.c", + "modules/audio_coding/codecs/ilbc/get_cd_vec.c", + "modules/audio_coding/codecs/ilbc/get_lsp_poly.c", + "modules/audio_coding/codecs/ilbc/get_sync_seq.c", + "modules/audio_coding/codecs/ilbc/hp_input.c", + "modules/audio_coding/codecs/ilbc/hp_output.c", + "modules/audio_coding/codecs/ilbc/ilbc.c", + "modules/audio_coding/codecs/ilbc/index_conv_dec.c", + "modules/audio_coding/codecs/ilbc/index_conv_enc.c", + "modules/audio_coding/codecs/ilbc/init_decode.c", + "modules/audio_coding/codecs/ilbc/init_encode.c", + "modules/audio_coding/codecs/ilbc/interpolate.c", + "modules/audio_coding/codecs/ilbc/interpolate_samples.c", + "modules/audio_coding/codecs/ilbc/lpc_encode.c", + "modules/audio_coding/codecs/ilbc/lsf_check.c", + "modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_dec.c", + "modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_enc.c", + "modules/audio_coding/codecs/ilbc/lsf_to_lsp.c", + "modules/audio_coding/codecs/ilbc/lsf_to_poly.c", + "modules/audio_coding/codecs/ilbc/lsp_to_lsf.c", + "modules/audio_coding/codecs/ilbc/my_corr.c", + "modules/audio_coding/codecs/ilbc/nearest_neighbor.c", + "modules/audio_coding/codecs/ilbc/pack_bits.c", + "modules/audio_coding/codecs/ilbc/poly_to_lsf.c", + "modules/audio_coding/codecs/ilbc/poly_to_lsp.c", + "modules/audio_coding/codecs/ilbc/refiner.c", + "modules/audio_coding/codecs/ilbc/simple_interpolate_lsf.c", + "modules/audio_coding/codecs/ilbc/simple_lpc_analysis.c", + "modules/audio_coding/codecs/ilbc/simple_lsf_dequant.c", + "modules/audio_coding/codecs/ilbc/simple_lsf_quant.c", + "modules/audio_coding/codecs/ilbc/smooth.c", + "modules/audio_coding/codecs/ilbc/smooth_out_data.c", + "modules/audio_coding/codecs/ilbc/sort_sq.c", + "modules/audio_coding/codecs/ilbc/split_vq.c", + "modules/audio_coding/codecs/ilbc/state_construct.c", + "modules/audio_coding/codecs/ilbc/state_search.c", + "modules/audio_coding/codecs/ilbc/swap_bytes.c", + "modules/audio_coding/codecs/ilbc/unpack_bits.c", + "modules/audio_coding/codecs/ilbc/vq3.c", + "modules/audio_coding/codecs/ilbc/vq4.c", + "modules/audio_coding/codecs/ilbc/window32_w32.c", + "modules/audio_coding/codecs/ilbc/xcorr_coef.c", + "modules/audio_coding/neteq/accelerate.cc", + "modules/audio_coding/neteq/audio_multi_vector.cc", + "modules/audio_coding/neteq/audio_vector.cc", + "modules/audio_coding/neteq/background_noise.cc", + "modules/audio_coding/neteq/buffer_level_filter.cc", + "modules/audio_coding/neteq/comfort_noise.cc", + "modules/audio_coding/neteq/cross_correlation.cc", + "modules/audio_coding/neteq/decision_logic.cc", + "modules/audio_coding/neteq/decoder_database.cc", + "modules/audio_coding/neteq/default_neteq_factory.cc", + "modules/audio_coding/neteq/delay_manager.cc", + "modules/audio_coding/neteq/dsp_helper.cc", + "modules/audio_coding/neteq/dtmf_buffer.cc", + "modules/audio_coding/neteq/dtmf_tone_generator.cc", + "modules/audio_coding/neteq/expand.cc", + "modules/audio_coding/neteq/expand_uma_logger.cc", + "modules/audio_coding/neteq/histogram.cc", + "modules/audio_coding/neteq/merge.cc", + "modules/audio_coding/neteq/nack_tracker.cc", + "modules/audio_coding/neteq/neteq_impl.cc", + "modules/audio_coding/neteq/normal.cc", + "modules/audio_coding/neteq/packet.cc", + "modules/audio_coding/neteq/packet_buffer.cc", + "modules/audio_coding/neteq/post_decode_vad.cc", + "modules/audio_coding/neteq/preemptive_expand.cc", + "modules/audio_coding/neteq/random_vector.cc", + "modules/audio_coding/neteq/red_payload_splitter.cc", + "modules/audio_coding/neteq/statistics_calculator.cc", + "modules/audio_coding/neteq/sync_buffer.cc", + "modules/audio_coding/neteq/time_stretch.cc", + "modules/audio_coding/neteq/timestamp_scaler.cc", + "modules/audio_device/audio_device_buffer.cc", + "modules/audio_device/audio_device_data_observer.cc", + "modules/audio_device/audio_device_generic.cc", + "modules/audio_device/audio_device_impl.cc", + "modules/audio_device/audio_device_name.cc", + "modules/audio_device/dummy/audio_device_dummy.cc", + "modules/audio_device/dummy/file_audio_device.cc", + "modules/audio_device/dummy/file_audio_device_factory.cc", + "modules/audio_device/fine_audio_buffer.cc", + "modules/audio_device/include/test_audio_device.cc", + "modules/audio_mixer/audio_frame_manipulator.cc", + "modules/audio_mixer/audio_mixer_impl.cc", + "modules/audio_mixer/default_output_rate_calculator.cc", + "modules/audio_mixer/frame_combiner.cc", + "modules/audio_mixer/gain_change_calculator.cc", + "modules/audio_mixer/sine_wave_generator.cc", + "modules/audio_processing/aec3/adaptive_fir_filter.cc", + "modules/audio_processing/aec3/adaptive_fir_filter_erl.cc", + "modules/audio_processing/aec3/aec3_common.cc", + "modules/audio_processing/aec3/aec3_fft.cc", + "modules/audio_processing/aec3/aec_state.cc", + "modules/audio_processing/aec3/alignment_mixer.cc", + "modules/audio_processing/aec3/api_call_jitter_metrics.cc", + "modules/audio_processing/aec3/block_buffer.cc", + "modules/audio_processing/aec3/block_delay_buffer.cc", + "modules/audio_processing/aec3/block_framer.cc", + "modules/audio_processing/aec3/block_processor.cc", + "modules/audio_processing/aec3/block_processor_metrics.cc", + "modules/audio_processing/aec3/clockdrift_detector.cc", + "modules/audio_processing/aec3/coarse_filter_update_gain.cc", + "modules/audio_processing/aec3/comfort_noise_generator.cc", + "modules/audio_processing/aec3/decimator.cc", + "modules/audio_processing/aec3/dominant_nearend_detector.cc", + "modules/audio_processing/aec3/downsampled_render_buffer.cc", + "modules/audio_processing/aec3/echo_audibility.cc", + "modules/audio_processing/aec3/echo_canceller3.cc", + "modules/audio_processing/aec3/echo_path_delay_estimator.cc", + "modules/audio_processing/aec3/echo_path_variability.cc", + "modules/audio_processing/aec3/echo_remover.cc", + "modules/audio_processing/aec3/echo_remover_metrics.cc", + "modules/audio_processing/aec3/erl_estimator.cc", + "modules/audio_processing/aec3/erle_estimator.cc", + "modules/audio_processing/aec3/fft_buffer.cc", + "modules/audio_processing/aec3/filter_analyzer.cc", + "modules/audio_processing/aec3/frame_blocker.cc", + "modules/audio_processing/aec3/fullband_erle_estimator.cc", + "modules/audio_processing/aec3/matched_filter.cc", + "modules/audio_processing/aec3/matched_filter_lag_aggregator.cc", + "modules/audio_processing/aec3/moving_average.cc", + "modules/audio_processing/aec3/refined_filter_update_gain.cc", + "modules/audio_processing/aec3/render_buffer.cc", + "modules/audio_processing/aec3/render_delay_buffer.cc", + "modules/audio_processing/aec3/render_delay_controller.cc", + "modules/audio_processing/aec3/render_delay_controller_metrics.cc", + "modules/audio_processing/aec3/render_signal_analyzer.cc", + "modules/audio_processing/aec3/residual_echo_estimator.cc", + "modules/audio_processing/aec3/reverb_decay_estimator.cc", + "modules/audio_processing/aec3/reverb_frequency_response.cc", + "modules/audio_processing/aec3/reverb_model.cc", + "modules/audio_processing/aec3/reverb_model_estimator.cc", + "modules/audio_processing/aec3/signal_dependent_erle_estimator.cc", + "modules/audio_processing/aec3/spectrum_buffer.cc", + "modules/audio_processing/aec3/stationarity_estimator.cc", + "modules/audio_processing/aec3/subband_erle_estimator.cc", + "modules/audio_processing/aec3/subband_nearend_detector.cc", + "modules/audio_processing/aec3/subtractor.cc", + "modules/audio_processing/aec3/subtractor_output.cc", + "modules/audio_processing/aec3/subtractor_output_analyzer.cc", + "modules/audio_processing/aec3/suppression_filter.cc", + "modules/audio_processing/aec3/suppression_gain.cc", + "modules/audio_processing/aec_dump/null_aec_dump_factory.cc", + "modules/audio_processing/aecm/aecm_core.cc", + "modules/audio_processing/aecm/aecm_core_c.cc", + "modules/audio_processing/aecm/echo_control_mobile.cc", + "modules/audio_processing/agc/agc.cc", + "modules/audio_processing/agc/agc_manager_direct.cc", + "modules/audio_processing/agc/legacy/analog_agc.cc", + "modules/audio_processing/agc/legacy/digital_agc.cc", + "modules/audio_processing/agc/loudness_histogram.cc", + "modules/audio_processing/agc/utility.cc", + "modules/audio_processing/agc2/adaptive_agc.cc", + "modules/audio_processing/agc2/adaptive_digital_gain_applier.cc", + "modules/audio_processing/agc2/adaptive_mode_level_estimator.cc", + "modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc", + "modules/audio_processing/agc2/agc2_common.cc", + "modules/audio_processing/agc2/agc2_testing_common.cc", + "modules/audio_processing/agc2/biquad_filter.cc", + "modules/audio_processing/agc2/compute_interpolated_gain_curve.cc", + "modules/audio_processing/agc2/down_sampler.cc", + "modules/audio_processing/agc2/fixed_digital_level_estimator.cc", + "modules/audio_processing/agc2/gain_applier.cc", + "modules/audio_processing/agc2/interpolated_gain_curve.cc", + "modules/audio_processing/agc2/limiter.cc", + "modules/audio_processing/agc2/limiter_db_gain_curve.cc", + "modules/audio_processing/agc2/noise_level_estimator.cc", + "modules/audio_processing/agc2/noise_spectrum_estimator.cc", + "modules/audio_processing/agc2/saturation_protector.cc", + "modules/audio_processing/agc2/signal_classifier.cc", + "modules/audio_processing/agc2/vad_with_level.cc", + "modules/audio_processing/agc2/vector_float_frame.cc", + "modules/audio_processing/agc2/rnn_vad/auto_correlation.cc", + "modules/audio_processing/agc2/rnn_vad/common.cc", + "modules/audio_processing/agc2/rnn_vad/features_extraction.cc", + "modules/audio_processing/agc2/rnn_vad/lp_residual.cc", + "modules/audio_processing/agc2/rnn_vad/pitch_search.cc", + "modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc", + "modules/audio_processing/agc2/rnn_vad/rnn.cc", + "modules/audio_processing/agc2/rnn_vad/spectral_features.cc", + "modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc", + "modules/audio_processing/audio_buffer.cc", + "modules/audio_processing/audio_generator/file_audio_generator.cc", + "modules/audio_processing/audio_processing_impl.cc", + "modules/audio_processing/echo_control_mobile_impl.cc", + "modules/audio_processing/echo_detector/circular_buffer.cc", + "modules/audio_processing/echo_detector/mean_variance_estimator.cc", + "modules/audio_processing/echo_detector/moving_max.cc", + "modules/audio_processing/echo_detector/normalized_covariance_estimator.cc", + "modules/audio_processing/gain_control_impl.cc", + "modules/audio_processing/gain_controller2.cc", + "modules/audio_processing/high_pass_filter.cc", + "modules/audio_processing/include/aec_dump.cc", + "modules/audio_processing/include/audio_frame_proxies.cc", + "modules/audio_processing/include/audio_generator_factory.cc", + "modules/audio_processing/include/audio_processing.cc", + "modules/audio_processing/include/audio_processing_statistics.cc", + "modules/audio_processing/include/config.cc", + "modules/audio_processing/level_estimator.cc", + "modules/audio_processing/logging/apm_data_dumper.cc", + "modules/audio_processing/ns/fast_math.cc", + "modules/audio_processing/ns/histograms.cc", + "modules/audio_processing/ns/noise_estimator.cc", + "modules/audio_processing/ns/noise_suppressor.cc", + "modules/audio_processing/ns/ns_fft.cc", + "modules/audio_processing/ns/prior_signal_model.cc", + "modules/audio_processing/ns/prior_signal_model_estimator.cc", + "modules/audio_processing/ns/quantile_noise_estimator.cc", + "modules/audio_processing/ns/signal_model.cc", + "modules/audio_processing/ns/signal_model_estimator.cc", + "modules/audio_processing/ns/speech_probability_estimator.cc", + "modules/audio_processing/ns/suppression_params.cc", + "modules/audio_processing/ns/wiener_filter.cc", + "modules/audio_processing/residual_echo_detector.cc", + "modules/audio_processing/rms_level.cc", + "modules/audio_processing/splitting_filter.cc", + "modules/audio_processing/three_band_filter_bank.cc", + "modules/audio_processing/transient/file_utils.cc", + "modules/audio_processing/transient/moving_moments.cc", + "modules/audio_processing/transient/transient_detector.cc", + "modules/audio_processing/transient/transient_suppressor_creator.cc", + "modules/audio_processing/transient/transient_suppressor_impl.cc", + "modules/audio_processing/transient/wpd_node.cc", + "modules/audio_processing/transient/wpd_tree.cc", + "modules/audio_processing/typing_detection.cc", + "modules/audio_processing/utility/cascaded_biquad_filter.cc", + "modules/audio_processing/utility/delay_estimator.cc", + "modules/audio_processing/utility/delay_estimator_wrapper.cc", + "modules/audio_processing/utility/ooura_fft.cc", + "modules/audio_processing/utility/pffft_wrapper.cc", + "modules/audio_processing/vad/gmm.cc", + "modules/audio_processing/vad/pitch_based_vad.cc", + "modules/audio_processing/vad/pitch_internal.cc", + "modules/audio_processing/vad/pole_zero_filter.cc", + "modules/audio_processing/vad/standalone_vad.cc", + "modules/audio_processing/vad/vad_audio_proc.cc", + "modules/audio_processing/vad/vad_circular_buffer.cc", + "modules/audio_processing/vad/voice_activity_detector.cc", + "modules/audio_processing/voice_detection.cc", + "modules/congestion_controller/bbr/bandwidth_sampler.cc", + "modules/congestion_controller/bbr/bbr_factory.cc", + "modules/congestion_controller/bbr/bbr_network_controller.cc", + "modules/congestion_controller/bbr/data_transfer_tracker.cc", + "modules/congestion_controller/bbr/loss_rate_filter.cc", + "modules/congestion_controller/bbr/rtt_stats.cc", + "modules/congestion_controller/pcc/bitrate_controller.cc", + "modules/congestion_controller/pcc/monitor_interval.cc", + "modules/congestion_controller/pcc/pcc_factory.cc", + "modules/congestion_controller/pcc/pcc_network_controller.cc", + "modules/congestion_controller/pcc/rtt_tracker.cc", + "modules/congestion_controller/pcc/utility_function.cc", + "modules/congestion_controller/receive_side_congestion_controller.cc", + "modules/congestion_controller/rtp/control_handler.cc", + "modules/congestion_controller/rtp/transport_feedback_adapter.cc", + "modules/congestion_controller/rtp/transport_feedback_demuxer.cc", + "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.cc", + "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.cc", + "modules/congestion_controller/goog_cc/alr_detector.cc", + "modules/congestion_controller/goog_cc/bitrate_estimator.cc", + "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc", + "modules/congestion_controller/goog_cc/delay_based_bwe.cc", + "modules/congestion_controller/goog_cc/goog_cc_network_control.cc", + "modules/congestion_controller/goog_cc/link_capacity_estimator.cc", + "modules/congestion_controller/goog_cc/loss_based_bandwidth_estimation.cc", + "modules/congestion_controller/goog_cc/median_slope_estimator.cc", + "modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc", + "modules/congestion_controller/goog_cc/probe_controller.cc", + "modules/congestion_controller/goog_cc/robust_throughput_estimator.cc", + "modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc", + "modules/congestion_controller/goog_cc/trendline_estimator.cc", + "modules/include/module_common_types.cc", + "modules/pacing/bitrate_prober.cc", + "modules/pacing/interval_budget.cc", + "modules/pacing/paced_sender.cc", + "modules/pacing/pacing_controller.cc", + "modules/pacing/packet_router.cc", + "modules/pacing/round_robin_packet_queue.cc", + "modules/pacing/task_queue_paced_sender.cc", + "modules/rtp_rtcp/include/report_block_data.cc", + "modules/rtp_rtcp/include/rtp_rtcp_defines.cc", + "modules/rtp_rtcp/source/absolute_capture_time_receiver.cc", + "modules/rtp_rtcp/source/absolute_capture_time_sender.cc", + "modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc", + "modules/rtp_rtcp/source/dtmf_queue.cc", + "modules/rtp_rtcp/source/fec_private_tables_bursty.cc", + "modules/rtp_rtcp/source/fec_private_tables_random.cc", + "modules/rtp_rtcp/source/fec_test_helper.cc", + "modules/rtp_rtcp/source/flexfec_header_reader_writer.cc", + "modules/rtp_rtcp/source/flexfec_receiver.cc", + "modules/rtp_rtcp/source/flexfec_sender.cc", + "modules/rtp_rtcp/source/forward_error_correction.cc", + "modules/rtp_rtcp/source/forward_error_correction_internal.cc", + "modules/rtp_rtcp/source/packet_loss_stats.cc", + "modules/rtp_rtcp/source/remote_ntp_time_estimator.cc", + "modules/rtp_rtcp/source/rtcp_nack_stats.cc", + "modules/rtp_rtcp/source/rtcp_packet.cc", + "modules/rtp_rtcp/source/rtcp_packet/app.cc", + "modules/rtp_rtcp/source/rtcp_packet/bye.cc", + "modules/rtp_rtcp/source/rtcp_packet/common_header.cc", + "modules/rtp_rtcp/source/rtcp_packet/compound_packet.cc", + "modules/rtp_rtcp/source/rtcp_packet/dlrr.cc", + "modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.cc", + "modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc", + "modules/rtp_rtcp/source/rtcp_packet/fir.cc", + "modules/rtp_rtcp/source/rtcp_packet/loss_notification.cc", + "modules/rtp_rtcp/source/rtcp_packet/nack.cc", + "modules/rtp_rtcp/source/rtcp_packet/pli.cc", + "modules/rtp_rtcp/source/rtcp_packet/psfb.cc", + "modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.cc", + "modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc", + "modules/rtp_rtcp/source/rtcp_packet/remb.cc", + "modules/rtp_rtcp/source/rtcp_packet/remote_estimate.cc", + "modules/rtp_rtcp/source/rtcp_packet/report_block.cc", + "modules/rtp_rtcp/source/rtcp_packet/rrtr.cc", + "modules/rtp_rtcp/source/rtcp_packet/rtpfb.cc", + "modules/rtp_rtcp/source/rtcp_packet/sdes.cc", + "modules/rtp_rtcp/source/rtcp_packet/sender_report.cc", + "modules/rtp_rtcp/source/rtcp_packet/target_bitrate.cc", + "modules/rtp_rtcp/source/rtcp_packet/tmmb_item.cc", + "modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc", + "modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc", + "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc", + "modules/rtp_rtcp/source/rtcp_receiver.cc", + "modules/rtp_rtcp/source/rtcp_sender.cc", + "modules/rtp_rtcp/source/rtcp_transceiver.cc", + "modules/rtp_rtcp/source/rtcp_transceiver_config.cc", + "modules/rtp_rtcp/source/rtcp_transceiver_impl.cc", + "modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.cc", + "modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.cc", + "modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.cc", + "modules/rtp_rtcp/source/rtp_descriptor_authentication.cc", + "modules/rtp_rtcp/source/rtp_format.cc", + "modules/rtp_rtcp/source/rtp_format_h264.cc", + "modules/rtp_rtcp/source/rtp_format_h265.cc", + "modules/rtp_rtcp/source/rtp_format_video_generic.cc", + "modules/rtp_rtcp/source/rtp_format_vp8.cc", + "modules/rtp_rtcp/source/rtp_format_vp9.cc", + "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.cc", + "modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.cc", + "modules/rtp_rtcp/source/rtp_header_extension_map.cc", + "modules/rtp_rtcp/source/rtp_header_extension_size.cc", + "modules/rtp_rtcp/source/rtp_header_extensions.cc", + "modules/rtp_rtcp/source/rtp_packet.cc", + "modules/rtp_rtcp/source/rtp_packet_history.cc", + "modules/rtp_rtcp/source/rtp_packet_received.cc", + "modules/rtp_rtcp/source/rtp_packet_to_send.cc", + "modules/rtp_rtcp/source/rtp_packetizer_av1.cc", + "modules/rtp_rtcp/source/rtp_rtcp_impl.cc", + "modules/rtp_rtcp/source/rtp_sender.cc", + "modules/rtp_rtcp/source/rtp_sender_audio.cc", + "modules/rtp_rtcp/source/rtp_sender_egress.cc", + "modules/rtp_rtcp/source/rtp_sender_video.cc", + "modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc", + "modules/rtp_rtcp/source/rtp_sequence_number_map.cc", + "modules/rtp_rtcp/source/rtp_utility.cc", + "modules/rtp_rtcp/source/rtp_video_header.cc", + "modules/rtp_rtcp/source/source_tracker.cc", + "modules/rtp_rtcp/source/time_util.cc", + "modules/rtp_rtcp/source/tmmbr_help.cc", + "modules/rtp_rtcp/source/transformable_encoded_frame.cc", + "modules/rtp_rtcp/source/ulpfec_generator.cc", + "modules/rtp_rtcp/source/ulpfec_header_reader_writer.cc", + "modules/rtp_rtcp/source/ulpfec_receiver_impl.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_av1.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_generic.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_h264.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_raw.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_vp8.cc", + "modules/rtp_rtcp/source/video_rtp_depacketizer_vp9.cc", + "modules/rtp_rtcp/source/receive_statistics_impl.cc", + "modules/utility/source/process_thread_impl.cc", + "modules/video_capture/device_info_impl.cc", + "modules/video_capture/video_capture_factory.cc", + "modules/video_capture/video_capture_impl.cc", + "modules/video_coding/codec_timer.cc", + "modules/video_coding/codecs/av1/libaom_av1_decoder_absent.cc", + "modules/video_coding/codecs/av1/libaom_av1_encoder_absent.cc", + "modules/video_coding/codecs/h264/h264.cc", + "modules/video_coding/codecs/h264/h264_color_space.cc", + "modules/video_coding/codecs/h264/h264_decoder_impl.cc", + "modules/video_coding/codecs/h264/h264_encoder_impl.cc", + "modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc", + "modules/video_coding/codecs/multiplex/multiplex_decoder_adapter.cc", + "modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc", + "modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc", + "modules/video_coding/decoder_database.cc", + "modules/video_coding/decoding_state.cc", + "modules/video_coding/encoded_frame.cc", + "modules/video_coding/event_wrapper.cc", + "modules/video_coding/fec_controller_default.cc", + "modules/video_coding/frame_buffer.cc", + "modules/video_coding/frame_buffer2.cc", + "modules/video_coding/frame_dependencies_calculator.cc", + "modules/video_coding/frame_object.cc", + "modules/video_coding/generic_decoder.cc", + "modules/video_coding/h264_sprop_parameter_sets.cc", + "modules/video_coding/h264_sps_pps_tracker.cc", + "modules/video_coding/h265_vps_sps_pps_tracker.cc", + "modules/video_coding/histogram.cc", + "modules/video_coding/include/video_codec_interface.cc", + "modules/video_coding/inter_frame_delay.cc", + "modules/video_coding/jitter_buffer.cc", + "modules/video_coding/jitter_estimator.cc", + "modules/video_coding/loss_notification_controller.cc", + "modules/video_coding/media_opt_util.cc", + "modules/video_coding/nack_module.cc", + "modules/video_coding/packet.cc", + "modules/video_coding/packet_buffer.cc", + "modules/video_coding/receiver.cc", + "modules/video_coding/rtp_frame_reference_finder.cc", + "modules/video_coding/rtt_filter.cc", + "modules/video_coding/session_info.cc", + "modules/video_coding/timestamp_map.cc", + "modules/video_coding/timing.cc", + "modules/video_coding/unique_timestamp_counter.cc", + "modules/video_coding/utility/decoded_frames_history.cc", + "modules/video_coding/utility/frame_dropper.cc", + "modules/video_coding/utility/framerate_controller.cc", + "modules/video_coding/utility/ivf_file_reader.cc", + "modules/video_coding/utility/ivf_file_writer.cc", + "modules/video_coding/utility/quality_scaler.cc", + "modules/video_coding/utility/simulcast_rate_allocator.cc", + "modules/video_coding/utility/simulcast_utility.cc", + "modules/video_coding/utility/vp8_header_parser.cc", + "modules/video_coding/utility/vp9_uncompressed_header_parser.cc", + "modules/video_coding/video_codec_initializer.cc", + "modules/video_coding/video_coding_defines.cc", + "modules/video_coding/video_coding_impl.cc", + "modules/video_coding/video_receiver.cc", + "modules/video_coding/video_receiver2.cc", + "modules/video_coding/codecs/vp8/default_temporal_layers.cc", + "modules/video_coding/codecs/vp8/libvpx_interface.cc", + "modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc", + "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc", + "modules/video_coding/codecs/vp8/screenshare_layers.cc", + "modules/video_coding/codecs/vp8/temporal_layers_checker.cc", + "modules/video_coding/codecs/vp9/svc_config.cc", + "modules/video_coding/codecs/vp9/svc_rate_allocator.cc", + "modules/video_coding/codecs/vp9/vp9.cc", + "modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.cc", + "modules/video_coding/codecs/vp9/vp9_impl.cc", + "modules/video_processing/util/denoiser_filter.cc", + "modules/video_processing/util/denoiser_filter_c.cc", + "modules/video_processing/util/noise_estimation.cc", + "modules/video_processing/util/skin_detection.cc", + "modules/video_processing/video_denoiser.cc", + "call/adaptation/encoder_settings.cc", + "call/adaptation/new_resource_adaptation_processor_poc.cc", + "call/adaptation/resource.cc", + "call/adaptation/resource_adaptation_processor_interface.cc", + "call/adaptation/resource_consumer.cc", + "call/adaptation/resource_consumer_configuration.cc", + "call/adaptation/video_source_restrictions.cc", + "call/audio_receive_stream.cc", + "call/audio_send_stream.cc", + "call/audio_state.cc", + "call/bitrate_allocator.cc", + "call/call.cc", + "call/call_config.cc", + "call/call_factory.cc", + "call/degraded_call.cc", + "call/fake_network_pipe.cc", + "call/flexfec_receive_stream.cc", + "call/flexfec_receive_stream_impl.cc", + "call/receive_time_calculator.cc", + "call/rtcp_demuxer.cc", + "call/rtp_bitrate_configurator.cc", + "call/rtp_config.cc", + "call/rtp_demuxer.cc", + "call/rtp_payload_params.cc", + "call/rtp_rtcp_demuxer_helper.cc", + "call/rtp_stream_receiver_controller.cc", + "call/rtp_transport_controller_send.cc", + "call/rtp_video_sender.cc", + "call/rtx_receive_stream.cc", + "call/simulated_network.cc", + "call/syncable.cc", + "call/video_receive_stream.cc", + "call/video_send_stream.cc", + "common_audio/audio_converter.cc", + "common_audio/audio_util.cc", + "common_audio/channel_buffer.cc", + "common_audio/fir_filter_c.cc", + "common_audio/fir_filter_factory.cc", + "common_audio/real_fourier.cc", + "common_audio/real_fourier_ooura.cc", + "common_audio/resampler/push_resampler.cc", + "common_audio/resampler/push_sinc_resampler.cc", + "common_audio/resampler/resampler.cc", + "common_audio/resampler/sinc_resampler.cc", + "common_audio/resampler/sinusoidal_linear_chirp_source.cc", + "common_audio/signal_processing/dot_product_with_scale.cc", + "common_audio/smoothing_filter.cc", + "common_audio/third_party/fft4g/fft4g.cc", + "common_audio/vad/vad.cc", + "common_audio/wav_file.cc", + "common_audio/wav_header.cc", + "common_audio/window_generator.cc", + "common_audio/ring_buffer.c", + "common_audio/signal_processing/auto_corr_to_refl_coef.c", + "common_audio/signal_processing/auto_correlation.c", + "common_audio/signal_processing/complex_fft.c", + "common_audio/signal_processing/copy_set_operations.c", + "common_audio/signal_processing/cross_correlation.c", + "common_audio/signal_processing/division_operations.c", + "common_audio/signal_processing/downsample_fast.c", + "common_audio/signal_processing/energy.c", + "common_audio/signal_processing/filter_ar.c", + "common_audio/signal_processing/filter_ma_fast_q12.c", + "common_audio/signal_processing/get_hanning_window.c", + "common_audio/signal_processing/get_scaling_square.c", + "common_audio/signal_processing/ilbc_specific_functions.c", + "common_audio/signal_processing/levinson_durbin.c", + "common_audio/signal_processing/lpc_to_refl_coef.c", + "common_audio/signal_processing/min_max_operations.c", + "common_audio/signal_processing/randomization_functions.c", + "common_audio/signal_processing/real_fft.c", + "common_audio/signal_processing/refl_coef_to_lpc.c", + "common_audio/signal_processing/resample.c", + "common_audio/signal_processing/resample_48khz.c", + "common_audio/signal_processing/resample_by_2.c", + "common_audio/signal_processing/resample_by_2_internal.c", + "common_audio/signal_processing/resample_fractional.c", + "common_audio/signal_processing/spl_init.c", + "common_audio/signal_processing/spl_inl.c", + "common_audio/signal_processing/spl_sqrt.c", + "common_audio/signal_processing/splitting_filter.c", + "common_audio/signal_processing/sqrt_of_one_minus_x_squared.c", + "common_audio/signal_processing/vector_scaling_operations.c", + "common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c", + "common_audio/vad/vad_core.c", + "common_audio/vad/vad_filterbank.c", + "common_audio/vad/vad_gmm.c", + "common_audio/vad/vad_sp.c", + "common_audio/vad/webrtc_vad.c", + "common_video/bitrate_adjuster.cc", + "common_video/frame_rate_estimator.cc", + "common_video/generic_frame_descriptor/generic_frame_info.cc", + "common_video/h264/h264_bitstream_parser.cc", + "common_video/h264/h264_common.cc", + "common_video/h264/pps_parser.cc", + "common_video/h264/prefix_parser.cc", + "common_video/h264/sps_parser.cc", + "common_video/h264/sps_vui_rewriter.cc", + "common_video/h265/h265_bitstream_parser.cc", + "common_video/h265/h265_common.cc", + "common_video/h265/h265_pps_parser.cc", + "common_video/h265/h265_sps_parser.cc", + "common_video/h265/h265_vps_parser.cc", + "common_video/i420_buffer_pool.cc", + "common_video/incoming_video_stream.cc", + "common_video/libyuv/webrtc_libyuv.cc", + "common_video/video_frame_buffer.cc", + "common_video/video_render_frames.cc", + "p2p/base/async_stun_tcp_socket.cc", + "p2p/base/basic_async_resolver_factory.cc", + "p2p/base/basic_ice_controller.cc", + "p2p/base/basic_packet_socket_factory.cc", + "p2p/base/connection.cc", + "p2p/base/connection_info.cc", + "p2p/base/default_ice_transport_factory.cc", + "p2p/base/dtls_transport.cc", + "p2p/base/dtls_transport_internal.cc", + "p2p/base/ice_controller_interface.cc", + "p2p/base/ice_credentials_iterator.cc", + "p2p/base/ice_transport_internal.cc", + "p2p/base/mdns_message.cc", + "p2p/base/p2p_constants.cc", + "p2p/base/p2p_transport_channel.cc", + "p2p/base/packet_transport_internal.cc", + "p2p/base/port.cc", + "p2p/base/port_allocator.cc", + "p2p/base/port_interface.cc", + "p2p/base/pseudo_tcp.cc", + "p2p/base/regathering_controller.cc", + "p2p/base/stun_port.cc", + "p2p/base/stun_request.cc", + "p2p/base/stun_server.cc", + "p2p/base/tcp_port.cc", + "p2p/base/test_stun_server.cc", + "p2p/base/transport_description.cc", + "p2p/base/transport_description_factory.cc", + "p2p/base/turn_port.cc", + "p2p/base/turn_server.cc", + "p2p/client/basic_port_allocator.cc", + "p2p/client/turn_port_factory.cc", + "p2p/stunprober/stun_prober.cc", + "logging/rtc_event_log/encoder/blob_encoding.cc", + "logging/rtc_event_log/encoder/delta_encoding.cc", + "logging/rtc_event_log/encoder/rtc_event_log_encoder_common.cc", + "logging/rtc_event_log/encoder/var_int.cc", + "logging/rtc_event_log/events/rtc_event_alr_state.cc", + "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc", + "logging/rtc_event_log/events/rtc_event_audio_playout.cc", + "logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc", + "logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc", + "logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc", + "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc", + "logging/rtc_event_log/events/rtc_event_dtls_transport_state.cc", + "logging/rtc_event_log/events/rtc_event_dtls_writable_state.cc", + "logging/rtc_event_log/events/rtc_event_generic_ack_received.cc", + "logging/rtc_event_log/events/rtc_event_generic_packet_received.cc", + "logging/rtc_event_log/events/rtc_event_generic_packet_sent.cc", + "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.cc", + "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.cc", + "logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc", + "logging/rtc_event_log/events/rtc_event_probe_result_failure.cc", + "logging/rtc_event_log/events/rtc_event_probe_result_success.cc", + "logging/rtc_event_log/events/rtc_event_route_change.cc", + "logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc", + "logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc", + "logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc", + "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc", + "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc", + "logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc", + "logging/rtc_event_log/fake_rtc_event_log.cc", + "logging/rtc_event_log/fake_rtc_event_log_factory.cc", + "logging/rtc_event_log/ice_logger.cc", + "logging/rtc_event_log/rtc_event_log_impl.cc", + "logging/rtc_event_log/rtc_stream_config.cc", + "video/adaptation/adaptation_counters.cc", + "video/adaptation/encode_usage_resource.cc", + "video/adaptation/overuse_frame_detector.cc", + "video/adaptation/quality_scaler_resource.cc", + "video/adaptation/resource_adaptation_processor.cc", + "video/adaptation/video_stream_adapter.cc", + "video/buffered_frame_decryptor.cc", + "video/call_stats.cc", + "video/encoder_bitrate_adjuster.cc", + "video/encoder_overshoot_detector.cc", + "video/encoder_rtcp_feedback.cc", + "video/frame_dumping_decoder.cc", + "video/frame_encode_metadata_writer.cc", + "video/quality_limitation_reason_tracker.cc", + "video/quality_threshold.cc", + "video/receive_statistics_proxy.cc", + "video/report_block_stats.cc", + "video/rtp_streams_synchronizer.cc", + "video/rtp_video_stream_receiver.cc", + "video/rtp_video_stream_receiver_frame_transformer_delegate.cc", + "video/send_delay_stats.cc", + "video/send_statistics_proxy.cc", + "video/stats_counter.cc", + "video/stream_synchronization.cc", + "video/transport_adapter.cc", + "video/video_quality_observer.cc", + "video/video_receive_stream.cc", + "video/video_send_stream.cc", + "video/video_send_stream_impl.cc", + "video/video_source_sink_controller.cc", + "video/video_stream_decoder.cc", + "video/video_stream_decoder_impl.cc", + "video/video_stream_encoder.cc", + "audio/audio_level.cc", + "audio/audio_receive_stream.cc", + "audio/audio_send_stream.cc", + "audio/audio_state.cc", + "audio/audio_transport_impl.cc", + "audio/channel_receive.cc", + "audio/channel_receive_frame_transformer_delegate.cc", + "audio/channel_send.cc", + "audio/channel_send_frame_transformer_delegate.cc", + "audio/null_audio_poller.cc", + "audio/remix_resample.cc", + "audio/utility/audio_frame_operations.cc", + "audio/utility/channel_mixer.cc", + "audio/utility/channel_mixing_matrix.cc", + "audio/voip/audio_egress.cc", + "modules/remote_bitrate_estimator/aimd_rate_control.cc", + "modules/remote_bitrate_estimator/bwe_defines.cc", + "modules/remote_bitrate_estimator/inter_arrival.cc", + "modules/remote_bitrate_estimator/overuse_detector.cc", + "modules/remote_bitrate_estimator/overuse_estimator.cc", + "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc", + "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc", + "modules/remote_bitrate_estimator/test/bwe_test_logging.cc", + "modules/remote_bitrate_estimator/remote_estimator_proxy.cc", + "stats/rtc_stats_report.cc", + "stats/rtc_stats.cc", + "stats/rtcstats_objects.cc", +] + +ios_objc_sources = [ + "objc/base/RTCEncodedImage.h", + "objc/base/RTCEncodedImage.m", + "objc/base/RTCRtpFragmentationHeader.h", + "objc/base/RTCRtpFragmentationHeader.m", + "objc/base/RTCVideoCapturer.h", + "objc/base/RTCVideoCapturer.m", + "objc/base/RTCVideoCodecInfo.h", + "objc/base/RTCVideoCodecInfo.m", + "objc/base/RTCVideoEncoderQpThresholds.h", + "objc/base/RTCVideoEncoderQpThresholds.m", + "objc/base/RTCVideoEncoderSettings.h", + "objc/base/RTCVideoEncoderSettings.m", + "objc/components/audio/RTCAudioSessionConfiguration.h", + "objc/components/audio/RTCAudioSessionConfiguration.m", + "objc/components/renderer/opengl/RTCNV12TextureCache.h", + "objc/components/renderer/opengl/RTCNV12TextureCache.m", + "objc/helpers/RTCDispatcher.h", + "objc/helpers/RTCDispatcher.m", + "objc/components/renderer/opengl/RTCDisplayLinkTimer.h", + "objc/components/renderer/opengl/RTCDisplayLinkTimer.m", +] + +ios_sources = [ + "objc/native/src/audio/audio_device_ios.h", + "objc/native/src/audio/audio_device_ios.mm", + "objc/native/src/audio/audio_device_module_ios.h", + "objc/native/src/audio/audio_device_module_ios.mm", + "objc/native/src/audio/helpers.h", + "objc/native/src/audio/helpers.mm", + "objc/native/src/audio/voice_processing_audio_unit.h", + "objc/native/src/audio/voice_processing_audio_unit.mm", + "objc/native/src/objc_frame_buffer.h", + "objc/native/src/objc_frame_buffer.mm", + "objc/native/src/objc_video_decoder_factory.h", + "objc/native/src/objc_video_decoder_factory.mm", + "objc/native/src/objc_video_encoder_factory.h", + "objc/native/src/objc_video_encoder_factory.mm", + "objc/native/src/objc_video_frame.h", + "objc/native/src/objc_video_frame.mm", + "objc/native/src/objc_video_renderer.h", + "objc/native/src/objc_video_renderer.mm", + "objc/native/src/objc_video_track_source.h", + "objc/native/src/objc_video_track_source.mm", + "objc/api/video_codec/RTCVideoDecoderVP8.h", + "objc/api/video_codec/RTCVideoDecoderVP8.mm", + "objc/api/video_codec/RTCVideoEncoderVP8.h", + "objc/api/video_codec/RTCVideoEncoderVP8.mm", + "objc/api/video_codec/RTCVideoDecoderVP9.h", + "objc/api/video_codec/RTCVideoDecoderVP9.mm", + "objc/api/video_codec/RTCVideoEncoderVP9.h", + "objc/api/video_codec/RTCVideoEncoderVP9.mm", + "objc/base/RTCCodecSpecificInfo.h", + "objc/base/RTCI420Buffer.h", + "objc/base/RTCLogging.h", + "objc/base/RTCLogging.mm", + "objc/base/RTCMacros.h", + "objc/base/RTCMutableI420Buffer.h", + "objc/base/RTCMutableYUVPlanarBuffer.h", + "objc/base/RTCVideoDecoder.h", + "objc/base/RTCVideoDecoderFactory.h", + "objc/base/RTCVideoEncoder.h", + "objc/base/RTCVideoEncoderFactory.h", + "objc/base/RTCVideoFrame.h", + "objc/base/RTCVideoFrame.mm", + "objc/base/RTCVideoFrameBuffer.h", + "objc/base/RTCVideoRenderer.h", + "objc/base/RTCYUVPlanarBuffer.h", + "objc/components/audio/RTCAudioSession+Configuration.mm", + "objc/components/audio/RTCAudioSession+Private.h", + "objc/components/audio/RTCAudioSession.h", + "objc/components/audio/RTCAudioSession.mm", + "objc/api/peerconnection/RTCVideoSource+Private.h", + "objc/api/peerconnection/RTCVideoSource.h", + "objc/api/peerconnection/RTCVideoSource.mm", + "objc/api/video_frame_buffer/RTCNativeI420Buffer+Private.h", + "objc/api/video_frame_buffer/RTCNativeI420Buffer.h", + "objc/api/video_frame_buffer/RTCNativeI420Buffer.mm", + "objc/api/video_frame_buffer/RTCNativeMutableI420Buffer.h", + "objc/api/video_frame_buffer/RTCNativeMutableI420Buffer.mm", + "objc/components/video_frame_buffer/RTCCVPixelBuffer.h", + "objc/components/video_frame_buffer/RTCCVPixelBuffer.mm", + "objc/components/video_codec/RTCCodecSpecificInfoH264+Private.h", + "objc/components/video_codec/RTCCodecSpecificInfoH264.h", + "objc/components/video_codec/RTCCodecSpecificInfoH264.mm", + "objc/components/video_codec/RTCH264ProfileLevelId.h", + "objc/components/video_codec/RTCH264ProfileLevelId.mm", + "objc/components/video_codec/RTCCodecSpecificInfoH265.h", + "objc/components/video_codec/RTCCodecSpecificInfoH265.mm", + "objc/components/video_codec/RTCH265ProfileLevelId.h", + "objc/components/video_codec/RTCH265ProfileLevelId.mm", + "objc/components/video_codec/RTCVideoDecoderH264.h", + "objc/components/video_codec/RTCVideoDecoderH264.mm", + "objc/components/video_codec/RTCVideoEncoderH264.h", + "objc/components/video_codec/RTCVideoEncoderH264.mm", + "objc/components/video_codec/RTCVideoDecoderH265.h", + "objc/components/video_codec/RTCVideoDecoderH265.mm", + "objc/components/video_codec/RTCVideoEncoderH265.h", + "objc/components/video_codec/RTCVideoEncoderH265.mm", + "objc/api/video_codec/RTCVideoCodecConstants.h", + "objc/api/video_codec/RTCVideoCodecConstants.mm", + "objc/components/video_codec/helpers.cc", + "objc/components/video_codec/helpers.h", + "objc/components/video_codec/nalu_rewriter.cc", + "objc/components/video_codec/nalu_rewriter.h", + "objc/components/renderer/opengl/RTCDefaultShader.h", + "objc/components/renderer/opengl/RTCDefaultShader.mm", + "objc/components/renderer/opengl/RTCI420TextureCache.h", + "objc/components/renderer/opengl/RTCI420TextureCache.mm", + "objc/components/renderer/opengl/RTCOpenGLDefines.h", + "objc/components/renderer/opengl/RTCShader.h", + "objc/components/renderer/opengl/RTCShader.mm", + "objc/components/renderer/opengl/RTCVideoViewShading.h", + "objc/helpers/RTCDispatcher+Private.h", + "objc/helpers/AVCaptureSession+DevicePosition.h", + "objc/helpers/AVCaptureSession+DevicePosition.mm", + "objc/helpers/NSString+StdString.h", + "objc/helpers/NSString+StdString.mm", + "objc/helpers/scoped_cftyperef.h", + "objc/api/peerconnection/RTCMediaSource+Private.h", + "objc/api/peerconnection/RTCMediaSource.h", + "objc/api/peerconnection/RTCMediaSource.mm", + "objc/api/video_codec/RTCWrappedNativeVideoDecoder.h", + "objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm", + "objc/api/video_codec/RTCWrappedNativeVideoEncoder.h", + "objc/api/video_codec/RTCWrappedNativeVideoEncoder.mm", + "objc/components/audio/RTCNativeAudioSessionDelegateAdapter.h", + "objc/components/audio/RTCNativeAudioSessionDelegateAdapter.mm", + "objc/native/api/video_capturer.h", + "objc/native/api/video_capturer.mm", + "objc/native/api/video_decoder_factory.h", + "objc/native/api/video_decoder_factory.mm", + "objc/native/api/video_encoder_factory.h", + "objc/native/api/video_encoder_factory.mm", + "objc/native/api/video_frame.h", + "objc/native/api/video_frame.mm", + "objc/native/api/video_frame_buffer.h", + "objc/native/api/video_frame_buffer.mm", + "objc/native/api/video_renderer.h", + "objc/native/api/video_renderer.mm", + "objc/components/renderer/metal/RTCMTLNV12Renderer.h", + "objc/components/renderer/metal/RTCMTLNV12Renderer.mm", + "objc/components/renderer/metal/RTCMTLRGBRenderer.h", + "objc/components/renderer/metal/RTCMTLRGBRenderer.mm", + "objc/components/renderer/metal/RTCMTLI420Renderer.h", + "objc/components/renderer/metal/RTCMTLI420Renderer.mm", + "objc/components/renderer/metal/RTCMTLRenderer+Private.h", + "objc/components/renderer/metal/RTCMTLRenderer.h", + "objc/components/renderer/metal/RTCMTLRenderer.mm", +] + +raw_combined_sources = webrtc_sources + rnnoice_sources + pffft_sources + absl_sources +combined_sources = ["webrtc-ios/src/" + path for path in raw_combined_sources] + +cc_library( + name = "usrsctp", + srcs = ["webrtc-ios/src/third_party/usrsctp/" + path for path in [ + "usrsctplib/usrsctplib/netinet/sctp.h", + "usrsctplib/usrsctplib/netinet/sctp_asconf.c", + "usrsctplib/usrsctplib/netinet/sctp_asconf.h", + "usrsctplib/usrsctplib/netinet/sctp_auth.c", + "usrsctplib/usrsctplib/netinet/sctp_auth.h", + "usrsctplib/usrsctplib/netinet/sctp_bsd_addr.c", + "usrsctplib/usrsctplib/netinet/sctp_bsd_addr.h", + "usrsctplib/usrsctplib/netinet/sctp_callout.c", + "usrsctplib/usrsctplib/netinet/sctp_callout.h", + "usrsctplib/usrsctplib/netinet/sctp_cc_functions.c", + "usrsctplib/usrsctplib/netinet/sctp_constants.h", + "usrsctplib/usrsctplib/netinet/sctp_crc32.c", + "usrsctplib/usrsctplib/netinet/sctp_crc32.h", + "usrsctplib/usrsctplib/netinet/sctp_header.h", + "usrsctplib/usrsctplib/netinet/sctp_indata.c", + "usrsctplib/usrsctplib/netinet/sctp_indata.h", + "usrsctplib/usrsctplib/netinet/sctp_input.c", + "usrsctplib/usrsctplib/netinet/sctp_input.h", + "usrsctplib/usrsctplib/netinet/sctp_lock_userspace.h", + "usrsctplib/usrsctplib/netinet/sctp_os.h", + "usrsctplib/usrsctplib/netinet/sctp_os_userspace.h", + "usrsctplib/usrsctplib/netinet/sctp_output.c", + "usrsctplib/usrsctplib/netinet/sctp_output.h", + "usrsctplib/usrsctplib/netinet/sctp_pcb.c", + "usrsctplib/usrsctplib/netinet/sctp_pcb.h", + "usrsctplib/usrsctplib/netinet/sctp_peeloff.c", + "usrsctplib/usrsctplib/netinet/sctp_peeloff.h", + "usrsctplib/usrsctplib/netinet/sctp_process_lock.h", + "usrsctplib/usrsctplib/netinet/sctp_sha1.c", + "usrsctplib/usrsctplib/netinet/sctp_sha1.h", + "usrsctplib/usrsctplib/netinet/sctp_ss_functions.c", + "usrsctplib/usrsctplib/netinet/sctp_structs.h", + "usrsctplib/usrsctplib/netinet/sctp_sysctl.c", + "usrsctplib/usrsctplib/netinet/sctp_sysctl.h", + "usrsctplib/usrsctplib/netinet/sctp_timer.c", + "usrsctplib/usrsctplib/netinet/sctp_timer.h", + "usrsctplib/usrsctplib/netinet/sctp_uio.h", + "usrsctplib/usrsctplib/netinet/sctp_userspace.c", + "usrsctplib/usrsctplib/netinet/sctp_usrreq.c", + "usrsctplib/usrsctplib/netinet/sctp_var.h", + "usrsctplib/usrsctplib/netinet/sctputil.c", + "usrsctplib/usrsctplib/netinet/sctputil.h", + "usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c", + "usrsctplib/usrsctplib/netinet6/sctp6_var.h", + "usrsctplib/usrsctplib/user_atomic.h", + "usrsctplib/usrsctplib/user_environment.c", + "usrsctplib/usrsctplib/user_environment.h", + "usrsctplib/usrsctplib/user_inpcb.h", + "usrsctplib/usrsctplib/user_ip6_var.h", + "usrsctplib/usrsctplib/user_ip_icmp.h", + "usrsctplib/usrsctplib/user_malloc.h", + "usrsctplib/usrsctplib/user_mbuf.c", + "usrsctplib/usrsctplib/user_mbuf.h", + "usrsctplib/usrsctplib/user_queue.h", + "usrsctplib/usrsctplib/user_recv_thread.c", + "usrsctplib/usrsctplib/user_recv_thread.h", + "usrsctplib/usrsctplib/user_route.h", + "usrsctplib/usrsctplib/user_socket.c", + "usrsctplib/usrsctplib/user_socketvar.h", + "usrsctplib/usrsctplib/user_uma.h", + "usrsctplib/usrsctplib/usrsctp.h", + ]], + copts = [ + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib/usrsctplib", + "-DHAVE_SA_LEN", + "-DHAVE_SCONN_LEN", + "-D__APPLE_USE_RFC_2292", + "-D__Userspace_os_Darwin", + "-UINET", + "-UINET6", + "-U__APPLE__", + "-DWEBRTC_IOS", + "-DWEBRTC_MAC", + "-DWEBRTC_POSIX", + "-DRTC_ENABLE_VP9", + "-DBSD=1", + "-DUSE_KISS_FFT", + "-DHAVE_PTHREAD", + "-DWEBRTC_APM_DEBUG_DUMP=0", + "-DWEBRTC_USE_BUILTIN_ISAC_FLOAT", + "-DWEBRTC_OPUS_VARIABLE_COMPLEXITY=0", + "-DHAVE_NETINET_IN_H", + "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE", + "-DSCTP_SIMPLE_ALLOCATOR", + "-DSCTP_PROCESS_LEVEL_LOCKS", + "-D__Userspace__", + "-D__Userspace_os_Darwin", + "-DPACKAGE_VERSION=''", + ], + visibility = ["//visibility:public"], +) + +cc_library( + name = "libsrtp", + srcs = ["webrtc-ios/src/third_party/libsrtp/" + path for path in [ + # includes + "include/ekt.h", + "include/srtp.h", + + # headers + "crypto/include/aes.h", + "crypto/include/aes_gcm_ossl.h", + "crypto/include/aes_icm.h", + "crypto/include/aes_icm_ossl.h", + "crypto/include/alloc.h", + "crypto/include/auth.h", + "crypto/include/cipher.h", + "crypto/include/cipher_types.h", + "crypto/include/crypto_kernel.h", + "crypto/include/crypto_types.h", + "crypto/include/datatypes.h", + "crypto/include/err.h", + "crypto/include/integers.h", + "crypto/include/key.h", + "crypto/include/null_auth.h", + "crypto/include/null_cipher.h", + "crypto/include/rdb.h", + "crypto/include/rdbx.h", + "crypto/include/stat.h", + "include/srtp_priv.h", + "include/ut_sim.h", + + # sources + "crypto/cipher/aes_gcm_ossl.c", + "crypto/cipher/aes_icm_ossl.c", + "crypto/cipher/cipher.c", + "crypto/cipher/null_cipher.c", + "crypto/hash/auth.c", + "crypto/hash/hmac_ossl.c", + "crypto/hash/null_auth.c", + "crypto/kernel/alloc.c", + "crypto/kernel/crypto_kernel.c", + "crypto/kernel/err.c", + "crypto/kernel/key.c", + "crypto/math/datatypes.c", + "crypto/math/stat.c", + "crypto/replay/rdb.c", + "crypto/replay/rdbx.c", + "srtp/ekt.c", + "srtp/srtp.c", + ]] + [ + "additional-files/config.h", + ], + copts = [ + "-Ithird-party/webrtc/additional-files", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/crypto/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/include", + "-DOPENSSL", + "-DHAVE_STDLIB_H", + "-DHAVE_STRING_H", + "-DHAVE_STDINT_H", + "-DHAVE_INTTYPES_H", + "-DHAVE_INT16_T", + "-DHAVE_INT32_T", + "-DHAVE_INT8_T", + "-DHAVE_UINT16_T", + "-DHAVE_UINT32_T", + "-DHAVE_UINT64_T", + "-DHAVE_UINT8_T", + "-DHAVE_ARPA_INET_H", + "-DHAVE_NETINET_IN_H", + "-DHAVE_SYS_TYPES_H", + "-DHAVE_UNISTD_H", + "-DPACKAGE_STRING='\"\"'", + ], + deps = [ + "//submodules/openssl:openssl", + ], + visibility = ["//visibility:public"], +) + +cc_library( + name = "libevent", + srcs = ["webrtc-ios/src/base/third_party/libevent/" + path for path in [ + "buffer.c", + "evbuffer.c", + "evdns.c", + "evdns.h", + "event-config.h", + "event-internal.h", + "event.c", + "event.h", + "event_tagging.c", + "evhttp.h", + "evrpc-internal.h", + "evrpc.c", + "evrpc.h", + "evsignal.h", + "evutil.c", + "evutil.h", + "http-internal.h", + "http.c", + "log.c", + "log.h", + "min_heap.h", + "poll.c", + "select.c", + "signal.c", + "strlcpy-internal.h", + "strlcpy.c", + "kqueue.c", + "mac/config.h", + "mac/event-config.h", + ]], + copts = [ + "-DHAVE_CONFIG_H", + "-Ithird-party/webrtc/webrtc-ios/src/base/third_party/libevent/mac", + "-Ithird-party/webrtc/webrtc-ios/src/base/third_party/libevent", + "-Ithird-party/webrtc/webrtc-ios/src", + ], + visibility = ["//visibility:public"], +) + +objc_library( + name = "webrtc_objc_sdk", + enable_modules = True, + module_name = "webrtc_objc_sdk", + srcs = ["webrtc-ios/src/sdk/" + path for path in ios_objc_sources], + copts = [ + "-Ithird-party/webrtc/webrtc-ios/src", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/abseil-cpp", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/crypto/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libyuv/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libvpx/source/libvpx", + "-Ithird-party/webrtc/webrtc-ios/src/testing/gtest/include", + "-Ithird-party/webrtc/webrtc-ios/src/sdk/objc", + "-Ithird-party/webrtc/webrtc-ios/src/sdk/objc/base", + "-Ithird-party/webrtc/additional-files", + "-DWEBRTC_IOS", + "-DWEBRTC_MAC", + "-DWEBRTC_POSIX", + "-DRTC_ENABLE_VP9", + "-DBSD=1", + "-DUSE_KISS_FFT", + "-DHAVE_PTHREAD", + "-DWEBRTC_APM_DEBUG_DUMP=0", + "-DWEBRTC_USE_BUILTIN_ISAC_FLOAT", + "-DWEBRTC_OPUS_VARIABLE_COMPLEXITY=0", + "-DHAVE_NETINET_IN_H", + "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE", + "-DSCTP_SIMPLE_ALLOCATOR", + "-DSCTP_PROCESS_LEVEL_LOCKS", + "-D__Userspace__", + "-D__Userspace_os_Darwin", + "-DPACKAGE_VERSION='\"\"'", + ], + deps = [ + "//submodules/openssl:openssl", + "//submodules/Opus:opus", + ":usrsctp", + ":libsrtp", + ":libevent", + ], + visibility = ["//visibility:public"], +) + +objc_library( + name = "webrtc_objcpp_sdk", + enable_modules = True, + module_name = "webrtc_objcpp_sdk", + srcs = ["webrtc-ios/src/sdk/" + path for path in ios_sources], + copts = [ + "-Ithird-party/webrtc/webrtc-ios/src", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/abseil-cpp", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/crypto/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libyuv/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libvpx/source/libvpx", + "-Ithird-party/webrtc/webrtc-ios/src/testing/gtest/include", + "-Ithird-party/webrtc/webrtc-ios/src/sdk/objc", + "-Ithird-party/webrtc/webrtc-ios/src/sdk/objc/base", + "-Ithird-party/webrtc/additional-files", + "-DWEBRTC_IOS", + "-DWEBRTC_MAC", + "-DWEBRTC_POSIX", + "-DRTC_ENABLE_VP9", + "-DBSD=1", + "-DUSE_KISS_FFT", + "-DHAVE_PTHREAD", + "-DWEBRTC_APM_DEBUG_DUMP=0", + "-DWEBRTC_USE_BUILTIN_ISAC_FLOAT", + "-DWEBRTC_OPUS_VARIABLE_COMPLEXITY=0", + "-DHAVE_NETINET_IN_H", + "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE", + "-DSCTP_SIMPLE_ALLOCATOR", + "-DSCTP_PROCESS_LEVEL_LOCKS", + "-D__Userspace__", + "-D__Userspace_os_Darwin", + "-DPACKAGE_VERSION='\"\"'", + "-std=c++14", + ], + deps = [ + "//submodules/openssl:openssl", + "//submodules/Opus:opus", + ":usrsctp", + ":libsrtp", + ":libevent", + ], + visibility = ["//visibility:public"], +) + +objc_library( + name = "webrtc_lib", + enable_modules = True, + module_name = "webrtc", + srcs = combined_sources, + copts = [ + "-Ithird-party/webrtc/webrtc-ios/src", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/abseil-cpp", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/usrsctp/usrsctplib/usrsctplib", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libsrtp/crypto/include", + "-Ithird-party/webrtc/webrtc-ios/src/third_party/libyuv/include", + "-Ithird-party/webrtc/webrtc-ios/src/testing/gtest/include", + "-Ithird-party/webrtc/webrtc-ios/src/sdk/objc", + "-Ithird-party/webrtc/webrtc-ios/src/sdk/objc/base", + "-Ithird-party/webrtc/additional-files", + "-DWEBRTC_IOS", + "-DWEBRTC_MAC", + "-DWEBRTC_POSIX", + "-DRTC_ENABLE_VP9", + "-DBSD=1", + "-DUSE_KISS_FFT", + "-DHAVE_PTHREAD", + "-DWEBRTC_APM_DEBUG_DUMP=0", + "-DWEBRTC_USE_BUILTIN_ISAC_FLOAT", + "-DWEBRTC_OPUS_VARIABLE_COMPLEXITY=0", + "-DHAVE_NETINET_IN_H", + "-DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE", + "-DSCTP_SIMPLE_ALLOCATOR", + "-DSCTP_PROCESS_LEVEL_LOCKS", + "-D__Userspace__", + "-D__Userspace_os_Darwin", + "-DPACKAGE_VERSION='\"\"'", + ], + deps = [ + "//submodules/openssl:openssl", + "//submodules/Opus:opus", + ":usrsctp", + ":libsrtp", + ":libevent", + ":webrtc_objc_sdk", + ":webrtc_objcpp_sdk", + "//third-party/libvpx:vpx", + ], + visibility = ["//visibility:public"], +) diff --git a/third-party/webrtc/additional-files/config.h b/third-party/webrtc/additional-files/config.h new file mode 100644 index 0000000000..3e8ad79ab3 --- /dev/null +++ b/third-party/webrtc/additional-files/config.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2016 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* + * This space intentionally left blank. + * + * All of the #defines have been moved to BUILD.gn. The libsrtp headers + * equate "building as a library" with HAS_CONFIG_H, so we need to leave that + * defined and this file needs to be here. + */ + +#define HAVE_CONFIG_H +#define OPENSSL +#define HAVE_STDLIB_H +#define HAVE_STRING_H +#define HAVE_STDINT_H +#define HAVE_INTTYPES_H +#define HAVE_INT16_T +#define HAVE_INT32_T +#define HAVE_INT8_T +#define HAVE_UINT16_T +#define HAVE_UINT32_T +#define HAVE_UINT64_T +#define HAVE_UINT8_T +#define HAVE_ARPA_INET_H +#define HAVE_SYS_TYPES_H +#define HAVE_UNISTD_H +#define PACKAGE_VERSION "" diff --git a/third-party/webrtc/additional-files/netinet/sctp_lock_apple_fg.h b/third-party/webrtc/additional-files/netinet/sctp_lock_apple_fg.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/third-party/webrtc/additional-files/netinet/sctp_os_macosx.h b/third-party/webrtc/additional-files/netinet/sctp_os_macosx.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/third-party/webrtc/webrtc-ios b/third-party/webrtc/webrtc-ios index cf2c8a8364..e4d49e73cd 160000 --- a/third-party/webrtc/webrtc-ios +++ b/third-party/webrtc/webrtc-ios @@ -1 +1 @@ -Subproject commit cf2c8a8364b4cfda7ea9eb448671033351851130 +Subproject commit e4d49e73cd8206518e7b3dd75d54af0f0ef5b810