| # Copyright (c) 2014 The WebRTC 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. |
| |
| import("../../webrtc.gni") |
| import("audio_coding.gni") |
| if (rtc_enable_protobuf) { |
| import("//third_party/protobuf/proto_library.gni") |
| } |
| |
| visibility = [ ":*" ] |
| |
| rtc_source_set("audio_coding_module_typedefs") { |
| visibility += [ "*" ] |
| sources = [ "include/audio_coding_module_typedefs.h" ] |
| } |
| |
| rtc_library("audio_coding") { |
| visibility += [ "*" ] |
| sources = [ |
| "acm2/acm_receiver.cc", |
| "acm2/acm_receiver.h", |
| "acm2/acm_remixing.cc", |
| "acm2/acm_remixing.h", |
| "acm2/acm_resampler.cc", |
| "acm2/acm_resampler.h", |
| "acm2/audio_coding_module.cc", |
| "acm2/call_statistics.cc", |
| "acm2/call_statistics.h", |
| "include/audio_coding_module.h", |
| ] |
| |
| defines = [] |
| |
| deps = [ |
| ":audio_coding_module_typedefs", |
| ":default_neteq_factory", |
| ":neteq", |
| "..:module_api", |
| "..:module_api_public", |
| "../../api:array_view", |
| "../../api:function_view", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/environment", |
| "../../api/neteq:neteq_api", |
| "../../api/units:timestamp", |
| "../../common_audio", |
| "../../common_audio:common_audio_c", |
| "../../rtc_base:audio_format_to_string", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base/synchronization:mutex", |
| "../../system_wrappers", |
| "../../system_wrappers:metrics", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("legacy_encoded_audio_frame") { |
| sources = [ |
| "codecs/legacy_encoded_audio_frame.cc", |
| "codecs/legacy_encoded_audio_frame.h", |
| ] |
| deps = [ |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("webrtc_cng") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "codecs/cng/webrtc_cng.cc", |
| "codecs/cng/webrtc_cng.h", |
| ] |
| |
| deps = [ |
| "../../api:array_view", |
| "../../common_audio:common_audio_c", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:safe_conversions", |
| ] |
| } |
| |
| rtc_library("audio_encoder_cng") { |
| visibility += [ "*" ] |
| sources = [ |
| "codecs/cng/audio_encoder_cng.cc", |
| "codecs/cng/audio_encoder_cng.h", |
| ] |
| |
| deps = [ |
| ":webrtc_cng", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/units:time_delta", |
| "../../common_audio", |
| "../../rtc_base:checks", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("red") { |
| visibility += [ "*" ] |
| sources = [ |
| "codecs/red/audio_encoder_copy_red.cc", |
| "codecs/red/audio_encoder_copy_red.h", |
| ] |
| |
| deps = [ |
| "../../api:array_view", |
| "../../api:field_trials_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/units:time_delta", |
| "../../common_audio", |
| "../../rtc_base:buffer", |
| "../../rtc_base:byte_order", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("g711") { |
| visibility += [ "*" ] |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/g711/audio_decoder_pcm.cc", |
| "codecs/g711/audio_decoder_pcm.h", |
| "codecs/g711/audio_encoder_pcm.cc", |
| "codecs/g711/audio_encoder_pcm.h", |
| ] |
| |
| deps = [ |
| ":legacy_encoded_audio_frame", |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/units:time_delta", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| public_deps += [ ":g711_c" ] # no-presubmit-check TODO(webrtc:8603) |
| } |
| |
| rtc_library("g711_c") { |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/g711/g711_interface.c", |
| "codecs/g711/g711_interface.h", |
| ] |
| deps = [ "../third_party/g711:g711_3p" ] |
| } |
| |
| rtc_library("g722") { |
| visibility += [ "*" ] |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/g722/audio_decoder_g722.cc", |
| "codecs/g722/audio_decoder_g722.h", |
| "codecs/g722/audio_encoder_g722.cc", |
| "codecs/g722/audio_encoder_g722.h", |
| ] |
| |
| deps = [ |
| ":legacy_encoded_audio_frame", |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs/g722:audio_encoder_g722_config", |
| "../../api/units:time_delta", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:safe_conversions", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| public_deps += [ ":g722_c" ] # no-presubmit-check TODO(webrtc:8603) |
| } |
| |
| rtc_library("g722_c") { |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/g722/g722_interface.c", |
| "codecs/g722/g722_interface.h", |
| ] |
| deps = [ "../third_party/g722:g722_3p" ] |
| } |
| |
| rtc_library("ilbc") { |
| visibility += webrtc_default_visibility |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/ilbc/audio_decoder_ilbc.cc", |
| "codecs/ilbc/audio_decoder_ilbc.h", |
| "codecs/ilbc/audio_encoder_ilbc.cc", |
| "codecs/ilbc/audio_encoder_ilbc.h", |
| ] |
| |
| deps = [ |
| ":legacy_encoded_audio_frame", |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs/ilbc:audio_encoder_ilbc_config", |
| "../../api/units:time_delta", |
| "../../common_audio", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "../../rtc_base:safe_conversions", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| public_deps += [ ":ilbc_c" ] # no-presubmit-check TODO(webrtc:8603) |
| } |
| |
| rtc_library("ilbc_c") { |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/ilbc/abs_quant.c", |
| "codecs/ilbc/abs_quant.h", |
| "codecs/ilbc/abs_quant_loop.c", |
| "codecs/ilbc/abs_quant_loop.h", |
| "codecs/ilbc/augmented_cb_corr.c", |
| "codecs/ilbc/augmented_cb_corr.h", |
| "codecs/ilbc/bw_expand.c", |
| "codecs/ilbc/bw_expand.h", |
| "codecs/ilbc/cb_construct.c", |
| "codecs/ilbc/cb_construct.h", |
| "codecs/ilbc/cb_mem_energy.c", |
| "codecs/ilbc/cb_mem_energy.h", |
| "codecs/ilbc/cb_mem_energy_augmentation.c", |
| "codecs/ilbc/cb_mem_energy_augmentation.h", |
| "codecs/ilbc/cb_mem_energy_calc.c", |
| "codecs/ilbc/cb_mem_energy_calc.h", |
| "codecs/ilbc/cb_search.c", |
| "codecs/ilbc/cb_search.h", |
| "codecs/ilbc/cb_search_core.c", |
| "codecs/ilbc/cb_search_core.h", |
| "codecs/ilbc/cb_update_best_index.c", |
| "codecs/ilbc/cb_update_best_index.h", |
| "codecs/ilbc/chebyshev.c", |
| "codecs/ilbc/chebyshev.h", |
| "codecs/ilbc/comp_corr.c", |
| "codecs/ilbc/comp_corr.h", |
| "codecs/ilbc/constants.c", |
| "codecs/ilbc/constants.h", |
| "codecs/ilbc/create_augmented_vec.c", |
| "codecs/ilbc/create_augmented_vec.h", |
| "codecs/ilbc/decode.c", |
| "codecs/ilbc/decode.h", |
| "codecs/ilbc/decode_residual.c", |
| "codecs/ilbc/decode_residual.h", |
| "codecs/ilbc/decoder_interpolate_lsf.c", |
| "codecs/ilbc/decoder_interpolate_lsf.h", |
| "codecs/ilbc/defines.h", |
| "codecs/ilbc/do_plc.c", |
| "codecs/ilbc/do_plc.h", |
| "codecs/ilbc/encode.c", |
| "codecs/ilbc/encode.h", |
| "codecs/ilbc/energy_inverse.c", |
| "codecs/ilbc/energy_inverse.h", |
| "codecs/ilbc/enh_upsample.c", |
| "codecs/ilbc/enh_upsample.h", |
| "codecs/ilbc/enhancer.c", |
| "codecs/ilbc/enhancer.h", |
| "codecs/ilbc/enhancer_interface.c", |
| "codecs/ilbc/enhancer_interface.h", |
| "codecs/ilbc/filtered_cb_vecs.c", |
| "codecs/ilbc/filtered_cb_vecs.h", |
| "codecs/ilbc/frame_classify.c", |
| "codecs/ilbc/frame_classify.h", |
| "codecs/ilbc/gain_dequant.c", |
| "codecs/ilbc/gain_dequant.h", |
| "codecs/ilbc/gain_quant.c", |
| "codecs/ilbc/gain_quant.h", |
| "codecs/ilbc/get_cd_vec.c", |
| "codecs/ilbc/get_cd_vec.h", |
| "codecs/ilbc/get_lsp_poly.c", |
| "codecs/ilbc/get_lsp_poly.h", |
| "codecs/ilbc/get_sync_seq.c", |
| "codecs/ilbc/get_sync_seq.h", |
| "codecs/ilbc/hp_input.c", |
| "codecs/ilbc/hp_input.h", |
| "codecs/ilbc/hp_output.c", |
| "codecs/ilbc/hp_output.h", |
| "codecs/ilbc/ilbc.c", |
| "codecs/ilbc/ilbc.h", |
| "codecs/ilbc/index_conv_dec.c", |
| "codecs/ilbc/index_conv_dec.h", |
| "codecs/ilbc/index_conv_enc.c", |
| "codecs/ilbc/index_conv_enc.h", |
| "codecs/ilbc/init_decode.c", |
| "codecs/ilbc/init_decode.h", |
| "codecs/ilbc/init_encode.c", |
| "codecs/ilbc/init_encode.h", |
| "codecs/ilbc/interpolate.c", |
| "codecs/ilbc/interpolate.h", |
| "codecs/ilbc/interpolate_samples.c", |
| "codecs/ilbc/interpolate_samples.h", |
| "codecs/ilbc/lpc_encode.c", |
| "codecs/ilbc/lpc_encode.h", |
| "codecs/ilbc/lsf_check.c", |
| "codecs/ilbc/lsf_check.h", |
| "codecs/ilbc/lsf_interpolate_to_poly_dec.c", |
| "codecs/ilbc/lsf_interpolate_to_poly_dec.h", |
| "codecs/ilbc/lsf_interpolate_to_poly_enc.c", |
| "codecs/ilbc/lsf_interpolate_to_poly_enc.h", |
| "codecs/ilbc/lsf_to_lsp.c", |
| "codecs/ilbc/lsf_to_lsp.h", |
| "codecs/ilbc/lsf_to_poly.c", |
| "codecs/ilbc/lsf_to_poly.h", |
| "codecs/ilbc/lsp_to_lsf.c", |
| "codecs/ilbc/lsp_to_lsf.h", |
| "codecs/ilbc/my_corr.c", |
| "codecs/ilbc/my_corr.h", |
| "codecs/ilbc/nearest_neighbor.c", |
| "codecs/ilbc/nearest_neighbor.h", |
| "codecs/ilbc/pack_bits.c", |
| "codecs/ilbc/pack_bits.h", |
| "codecs/ilbc/poly_to_lsf.c", |
| "codecs/ilbc/poly_to_lsf.h", |
| "codecs/ilbc/poly_to_lsp.c", |
| "codecs/ilbc/poly_to_lsp.h", |
| "codecs/ilbc/refiner.c", |
| "codecs/ilbc/refiner.h", |
| "codecs/ilbc/simple_interpolate_lsf.c", |
| "codecs/ilbc/simple_interpolate_lsf.h", |
| "codecs/ilbc/simple_lpc_analysis.c", |
| "codecs/ilbc/simple_lpc_analysis.h", |
| "codecs/ilbc/simple_lsf_dequant.c", |
| "codecs/ilbc/simple_lsf_dequant.h", |
| "codecs/ilbc/simple_lsf_quant.c", |
| "codecs/ilbc/simple_lsf_quant.h", |
| "codecs/ilbc/smooth.c", |
| "codecs/ilbc/smooth.h", |
| "codecs/ilbc/smooth_out_data.c", |
| "codecs/ilbc/smooth_out_data.h", |
| "codecs/ilbc/sort_sq.c", |
| "codecs/ilbc/sort_sq.h", |
| "codecs/ilbc/split_vq.c", |
| "codecs/ilbc/split_vq.h", |
| "codecs/ilbc/state_construct.c", |
| "codecs/ilbc/state_construct.h", |
| "codecs/ilbc/state_search.c", |
| "codecs/ilbc/state_search.h", |
| "codecs/ilbc/swap_bytes.c", |
| "codecs/ilbc/swap_bytes.h", |
| "codecs/ilbc/unpack_bits.c", |
| "codecs/ilbc/unpack_bits.h", |
| "codecs/ilbc/vq3.c", |
| "codecs/ilbc/vq3.h", |
| "codecs/ilbc/vq4.c", |
| "codecs/ilbc/vq4.h", |
| "codecs/ilbc/window32_w32.c", |
| "codecs/ilbc/window32_w32.h", |
| "codecs/ilbc/xcorr_coef.c", |
| "codecs/ilbc/xcorr_coef.h", |
| ] |
| |
| deps = [ |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../common_audio", |
| "../../common_audio:common_audio_c", |
| "../../rtc_base:checks", |
| "../../rtc_base:sanitizer", |
| "../../rtc_base/system:arch", |
| "//third_party/abseil-cpp/absl/base:core_headers", |
| ] |
| } |
| |
| rtc_library("isac_vad") { |
| visibility += [ "../audio_processing/vad:*" ] |
| sources = [ |
| "codecs/isac/main/source/filter_functions.c", |
| "codecs/isac/main/source/filter_functions.h", |
| "codecs/isac/main/source/isac_vad.c", |
| "codecs/isac/main/source/isac_vad.h", |
| "codecs/isac/main/source/os_specific_inline.h", |
| "codecs/isac/main/source/pitch_estimator.c", |
| "codecs/isac/main/source/pitch_estimator.h", |
| "codecs/isac/main/source/pitch_filter.c", |
| "codecs/isac/main/source/pitch_filter.h", |
| "codecs/isac/main/source/settings.h", |
| "codecs/isac/main/source/structs.h", |
| ] |
| deps = [ |
| ":isac_bwinfo", |
| "../../rtc_base:compile_assert_c", |
| "../../rtc_base/system:arch", |
| "../../rtc_base/system:ignore_warnings", |
| "../third_party/fft", |
| ] |
| } |
| |
| rtc_source_set("isac_bwinfo") { |
| sources = [ "codecs/isac/bandwidth_info.h" ] |
| deps = [] |
| } |
| |
| rtc_library("pcm16b") { |
| visibility += [ "*" ] |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/pcm16b/audio_decoder_pcm16b.cc", |
| "codecs/pcm16b/audio_decoder_pcm16b.h", |
| "codecs/pcm16b/audio_encoder_pcm16b.cc", |
| "codecs/pcm16b/audio_encoder_pcm16b.h", |
| "codecs/pcm16b/pcm16b_common.cc", |
| "codecs/pcm16b/pcm16b_common.h", |
| ] |
| |
| deps = [ |
| ":g711", |
| ":legacy_encoded_audio_frame", |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| ] |
| public_deps += [ ":pcm16b_c" ] # no-presubmit-check TODO(webrtc:8603) |
| } |
| |
| rtc_library("pcm16b_c") { |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/pcm16b/pcm16b.c", |
| "codecs/pcm16b/pcm16b.h", |
| ] |
| } |
| |
| rtc_library("audio_coding_opus_common") { |
| sources = [ |
| "codecs/opus/audio_coder_opus_common.cc", |
| "codecs/opus/audio_coder_opus_common.h", |
| ] |
| |
| deps = [ |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../rtc_base:checks", |
| "../../rtc_base:stringutils", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("webrtc_opus") { |
| visibility += webrtc_default_visibility |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/opus/audio_decoder_opus.cc", |
| "codecs/opus/audio_decoder_opus.h", |
| "codecs/opus/audio_encoder_opus.cc", |
| "codecs/opus/audio_encoder_opus.h", |
| ] |
| |
| deps = [ |
| ":audio_coding_opus_common", |
| ":audio_network_adaptor", |
| "../../api:array_view", |
| "../../api:field_trials_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs/opus:audio_encoder_opus_config", |
| "../../api/environment", |
| "../../common_audio", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:protobuf_utils", |
| "../../rtc_base:rtc_numerics", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:safe_minmax", |
| "../../rtc_base:stringutils", |
| "../../rtc_base:timeutils", |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| public_deps += # no-presubmit-check TODO(webrtc:8603) |
| [ ":webrtc_opus_wrapper" ] |
| |
| defines = audio_codec_defines |
| } |
| |
| rtc_library("webrtc_multiopus") { |
| visibility += webrtc_default_visibility |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/opus/audio_decoder_multi_channel_opus_impl.cc", |
| "codecs/opus/audio_decoder_multi_channel_opus_impl.h", |
| "codecs/opus/audio_encoder_multi_channel_opus_impl.cc", |
| "codecs/opus/audio_encoder_multi_channel_opus_impl.h", |
| ] |
| |
| deps = [ |
| ":audio_coding_opus_common", |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs/opus:audio_decoder_opus_config", |
| "../../api/audio_codecs/opus:audio_encoder_opus_config", |
| "../../api/units:time_delta", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:safe_minmax", |
| "../../rtc_base:stringutils", |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| public_deps += # no-presubmit-check TODO(webrtc:8603) |
| [ ":webrtc_opus_wrapper" ] |
| |
| defines = audio_codec_defines |
| } |
| |
| rtc_library("webrtc_opus_wrapper") { |
| poisonous = [ "audio_codecs" ] |
| sources = [ |
| "codecs/opus/opus_inst.h", |
| "codecs/opus/opus_interface.cc", |
| "codecs/opus/opus_interface.h", |
| ] |
| |
| defines = audio_coding_defines |
| |
| deps = [ |
| "../../api:array_view", |
| "../../rtc_base:checks", |
| "../../rtc_base:ignore_wundef", |
| ] |
| |
| if (rtc_build_opus) { |
| deps += [ rtc_opus_dir ] |
| public_configs = [ "//third_party/opus:opus_config" ] |
| } else if (build_with_mozilla) { |
| include_dirs = [ getenv("DIST") + "/include/opus" ] |
| } |
| } |
| |
| if (rtc_enable_protobuf) { |
| proto_library("ana_debug_dump_proto") { |
| visibility += webrtc_default_visibility |
| sources = [ "audio_network_adaptor/debug_dump.proto" ] |
| link_deps = [ ":ana_config_proto" ] |
| proto_out_dir = "modules/audio_coding/audio_network_adaptor" |
| } |
| proto_library("ana_config_proto") { |
| visibility += [ "*" ] |
| sources = [ "audio_network_adaptor/config.proto" ] |
| proto_out_dir = "modules/audio_coding/audio_network_adaptor" |
| } |
| } |
| |
| rtc_library("audio_network_adaptor_config") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "audio_network_adaptor/audio_network_adaptor_config.cc", |
| "audio_network_adaptor/include/audio_network_adaptor_config.h", |
| ] |
| deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| rtc_library("audio_network_adaptor") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "audio_network_adaptor/audio_network_adaptor_impl.cc", |
| "audio_network_adaptor/audio_network_adaptor_impl.h", |
| "audio_network_adaptor/bitrate_controller.cc", |
| "audio_network_adaptor/bitrate_controller.h", |
| "audio_network_adaptor/channel_controller.cc", |
| "audio_network_adaptor/channel_controller.h", |
| "audio_network_adaptor/controller.cc", |
| "audio_network_adaptor/controller.h", |
| "audio_network_adaptor/controller_manager.cc", |
| "audio_network_adaptor/controller_manager.h", |
| "audio_network_adaptor/debug_dump_writer.cc", |
| "audio_network_adaptor/debug_dump_writer.h", |
| "audio_network_adaptor/dtx_controller.cc", |
| "audio_network_adaptor/dtx_controller.h", |
| "audio_network_adaptor/event_log_writer.cc", |
| "audio_network_adaptor/event_log_writer.h", |
| "audio_network_adaptor/fec_controller_plr_based.cc", |
| "audio_network_adaptor/fec_controller_plr_based.h", |
| "audio_network_adaptor/frame_length_controller.cc", |
| "audio_network_adaptor/frame_length_controller.h", |
| "audio_network_adaptor/frame_length_controller_v2.cc", |
| "audio_network_adaptor/frame_length_controller_v2.h", |
| "audio_network_adaptor/include/audio_network_adaptor.h", |
| "audio_network_adaptor/util/threshold_curve.h", |
| ] |
| |
| public_deps += # no-presubmit-check TODO(webrtc:8603) |
| [ ":audio_network_adaptor_config" ] |
| |
| deps = [ |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/rtc_event_log", |
| "../../common_audio", |
| "../../logging:rtc_event_audio", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "../../rtc_base:protobuf_utils", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:timeutils", |
| "../../rtc_base/system:file_wrapper", |
| "../../system_wrappers", |
| "../../system_wrappers:field_trial", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| |
| if (rtc_enable_protobuf) { |
| deps += [ |
| ":ana_config_proto", |
| ":ana_debug_dump_proto", |
| ] |
| } |
| } |
| |
| rtc_library("neteq") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "neteq/accelerate.cc", |
| "neteq/accelerate.h", |
| "neteq/audio_multi_vector.cc", |
| "neteq/audio_multi_vector.h", |
| "neteq/audio_vector.cc", |
| "neteq/audio_vector.h", |
| "neteq/background_noise.cc", |
| "neteq/background_noise.h", |
| "neteq/buffer_level_filter.cc", |
| "neteq/buffer_level_filter.h", |
| "neteq/comfort_noise.cc", |
| "neteq/comfort_noise.h", |
| "neteq/cross_correlation.cc", |
| "neteq/cross_correlation.h", |
| "neteq/decision_logic.cc", |
| "neteq/decision_logic.h", |
| "neteq/decoder_database.cc", |
| "neteq/decoder_database.h", |
| "neteq/delay_manager.cc", |
| "neteq/delay_manager.h", |
| "neteq/dsp_helper.cc", |
| "neteq/dsp_helper.h", |
| "neteq/dtmf_buffer.cc", |
| "neteq/dtmf_buffer.h", |
| "neteq/dtmf_tone_generator.cc", |
| "neteq/dtmf_tone_generator.h", |
| "neteq/expand.cc", |
| "neteq/expand.h", |
| "neteq/expand_uma_logger.cc", |
| "neteq/expand_uma_logger.h", |
| "neteq/histogram.cc", |
| "neteq/histogram.h", |
| "neteq/merge.cc", |
| "neteq/merge.h", |
| "neteq/nack_tracker.cc", |
| "neteq/nack_tracker.h", |
| "neteq/neteq_impl.cc", |
| "neteq/neteq_impl.h", |
| "neteq/normal.cc", |
| "neteq/normal.h", |
| "neteq/packet.cc", |
| "neteq/packet.h", |
| "neteq/packet_arrival_history.cc", |
| "neteq/packet_arrival_history.h", |
| "neteq/packet_buffer.cc", |
| "neteq/packet_buffer.h", |
| "neteq/preemptive_expand.cc", |
| "neteq/preemptive_expand.h", |
| "neteq/random_vector.cc", |
| "neteq/random_vector.h", |
| "neteq/red_payload_splitter.cc", |
| "neteq/red_payload_splitter.h", |
| "neteq/reorder_optimizer.cc", |
| "neteq/reorder_optimizer.h", |
| "neteq/statistics_calculator.cc", |
| "neteq/statistics_calculator.h", |
| "neteq/sync_buffer.cc", |
| "neteq/sync_buffer.h", |
| "neteq/time_stretch.cc", |
| "neteq/time_stretch.h", |
| "neteq/timestamp_scaler.cc", |
| "neteq/timestamp_scaler.h", |
| "neteq/underrun_optimizer.cc", |
| "neteq/underrun_optimizer.h", |
| ] |
| |
| deps = [ |
| ":audio_coding_module_typedefs", |
| ":webrtc_cng", |
| "..:module_api_public", |
| "../../api:array_view", |
| "../../api:field_trials_view", |
| "../../api:rtp_headers", |
| "../../api:rtp_packet_info", |
| "../../api:scoped_refptr", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/environment", |
| "../../api/neteq:neteq_api", |
| "../../api/neteq:neteq_controller_api", |
| "../../api/neteq:tick_timer", |
| "../../api/units:timestamp", |
| "../../common_audio", |
| "../../common_audio:common_audio_c", |
| "../../rtc_base:audio_format_to_string", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:event_tracer", |
| "../../rtc_base:gtest_prod", |
| "../../rtc_base:logging", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:rtc_numerics", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:safe_minmax", |
| "../../rtc_base:sanitizer", |
| "../../rtc_base/experiments:field_trial_parser", |
| "../../rtc_base/synchronization:mutex", |
| "../../system_wrappers", |
| "../../system_wrappers:metrics", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_source_set("default_neteq_factory") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "neteq/default_neteq_factory.cc", |
| "neteq/default_neteq_factory.h", |
| ] |
| deps = [ |
| ":neteq", |
| "../../api:scoped_refptr", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/environment", |
| "../../api/neteq:default_neteq_controller_factory", |
| "../../api/neteq:neteq_api", |
| ] |
| } |
| |
| # Although providing only test support, this target must be outside of the |
| # rtc_include_tests conditional. The reason is that it supports fuzzer tests |
| # that ultimately are built and run as a part of the Chromium ecosystem, which |
| # does not set the rtc_include_tests flag. |
| rtc_library("neteq_tools_minimal") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "neteq/tools/audio_sink.cc", |
| "neteq/tools/audio_sink.h", |
| "neteq/tools/encode_neteq_input.cc", |
| "neteq/tools/encode_neteq_input.h", |
| "neteq/tools/neteq_input.cc", |
| "neteq/tools/neteq_input.h", |
| "neteq/tools/neteq_test.cc", |
| "neteq/tools/neteq_test.h", |
| "neteq/tools/packet.cc", |
| "neteq/tools/packet.h", |
| "neteq/tools/packet_source.cc", |
| "neteq/tools/packet_source.h", |
| ] |
| |
| deps = [ |
| ":default_neteq_factory", |
| ":neteq", |
| "../../api:array_view", |
| "../../api:neteq_simulator_api", |
| "../../api:rtp_headers", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/environment", |
| "../../api/environment:environment_factory", |
| "../../api/neteq:custom_neteq_factory", |
| "../../api/neteq:default_neteq_controller_factory", |
| "../../api/neteq:neteq_api", |
| "../../api/units:timestamp", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:copy_on_write_buffer", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:stringutils", |
| "../../system_wrappers", |
| "../rtp_rtcp:rtp_rtcp_format", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| defines = audio_codec_defines |
| } |
| |
| rtc_library("neteq_test_tools") { |
| visibility += webrtc_default_visibility |
| testonly = true |
| sources = [ |
| "neteq/tools/audio_checksum.h", |
| "neteq/tools/audio_loop.cc", |
| "neteq/tools/audio_loop.h", |
| "neteq/tools/constant_pcm_packet_source.cc", |
| "neteq/tools/constant_pcm_packet_source.h", |
| "neteq/tools/initial_packet_inserter_neteq_input.cc", |
| "neteq/tools/initial_packet_inserter_neteq_input.h", |
| "neteq/tools/neteq_rtp_dump_input.cc", |
| "neteq/tools/neteq_rtp_dump_input.h", |
| "neteq/tools/output_audio_file.h", |
| "neteq/tools/output_wav_file.h", |
| "neteq/tools/rtp_file_source.cc", |
| "neteq/tools/rtp_file_source.h", |
| "neteq/tools/rtp_generator.cc", |
| "neteq/tools/rtp_generator.h", |
| ] |
| |
| deps = [ |
| ":neteq_tools", |
| ":neteq_tools_minimal", |
| ":pcm16b", |
| "../../api:array_view", |
| "../../api:rtp_headers", |
| "../../common_audio", |
| "../../rtc_base:buffer", |
| "../../rtc_base:checks", |
| "../../rtc_base:digest", |
| "../../rtc_base:stringutils", |
| "../../rtc_base/system:arch", |
| "../../test:rtp_test_utils", |
| "../rtp_rtcp:rtp_rtcp_format", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("neteq_tools") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "neteq/tools/fake_decode_from_file.cc", |
| "neteq/tools/fake_decode_from_file.h", |
| "neteq/tools/neteq_delay_analyzer.cc", |
| "neteq/tools/neteq_delay_analyzer.h", |
| "neteq/tools/neteq_replacement_input.cc", |
| "neteq/tools/neteq_replacement_input.h", |
| "neteq/tools/neteq_stats_getter.cc", |
| "neteq/tools/neteq_stats_getter.h", |
| "neteq/tools/neteq_stats_plotter.cc", |
| "neteq/tools/neteq_stats_plotter.h", |
| ] |
| |
| deps = [ |
| ":neteq_input_audio_tools", |
| ":neteq_tools_minimal", |
| "..:module_api_public", |
| "../../api:array_view", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../rtc_base:checks", |
| "../../rtc_base:rtc_numerics", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:stringutils", |
| "../../rtc_base:timeutils", |
| "../rtp_rtcp", |
| "../rtp_rtcp:rtp_rtcp_format", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| |
| if (rtc_enable_protobuf) { |
| sources += [ |
| "neteq/tools/neteq_event_log_input.cc", |
| "neteq/tools/neteq_event_log_input.h", |
| ] |
| deps += [ "../../logging:rtc_event_log_parser" ] |
| public_deps += # no-presubmit-check TODO(webrtc:8603) |
| [ "../../logging:rtc_event_log_proto" ] |
| } |
| } |
| |
| rtc_library("neteq_input_audio_tools") { |
| visibility += webrtc_default_visibility |
| sources = [ |
| "neteq/tools/input_audio_file.cc", |
| "neteq/tools/input_audio_file.h", |
| "neteq/tools/resample_input_audio_file.cc", |
| "neteq/tools/resample_input_audio_file.h", |
| ] |
| |
| deps = [ |
| "../../common_audio", |
| "../../rtc_base:checks", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| ] |
| } |
| |
| if (rtc_enable_protobuf) { |
| # Only used for test purpose. Since we want to use it from chromium |
| # (see audio_coding_modules_tests_shared below), we cannot guard it |
| # under rtc_include_tests. |
| proto_library("neteq_unittest_proto") { |
| testonly = true |
| sources = [ "neteq/neteq_unittest.proto" ] |
| proto_out_dir = "modules/audio_coding/neteq" |
| } |
| } |
| |
| # Allow to re-use some test classes from chromium. |
| rtc_library("audio_coding_modules_tests_shared") { |
| testonly = true |
| visibility = [] |
| visibility = [ "*" ] |
| |
| sources = [ |
| "neteq/test/neteq_decoding_test.cc", |
| "neteq/test/neteq_decoding_test.h", |
| "neteq/test/result_sink.cc", |
| "neteq/test/result_sink.h", |
| "test/PCMFile.cc", |
| "test/PCMFile.h", |
| "test/TestStereo.cc", |
| "test/TestStereo.h", |
| "test/opus_test.cc", |
| "test/opus_test.h", |
| ] |
| |
| deps = [ |
| ":audio_coding", |
| ":audio_coding_module_typedefs", |
| ":default_neteq_factory", |
| ":neteq_test_tools", |
| ":neteq_tools_minimal", |
| ":webrtc_opus_wrapper", |
| "..:module_api", |
| "../../api:rtp_headers", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/audio_codecs:builtin_audio_encoder_factory", |
| "../../api/environment", |
| "../../api/environment:environment_factory", |
| "../../api/neteq:neteq_api", |
| "../../api/units:timestamp", |
| "../../rtc_base:checks", |
| "../../rtc_base:digest", |
| "../../rtc_base:stringutils", |
| "../../system_wrappers", |
| "../../test:fileutils", |
| "../../test:test_support", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| defines = audio_coding_defines |
| |
| if (rtc_enable_protobuf) { |
| defines += [ "WEBRTC_NETEQ_UNITTEST_BITEXACT" ] |
| deps += [ ":neteq_unittest_proto" ] |
| } |
| } |
| |
| if (rtc_include_tests) { |
| audio_coding_deps = [ |
| ":audio_encoder_cng", |
| ":g711", |
| ":g722", |
| ":pcm16b", |
| "../../common_audio", |
| "../../system_wrappers", |
| ] |
| if (rtc_include_ilbc) { |
| audio_coding_deps += [ ":ilbc" ] |
| } |
| if (rtc_include_opus) { |
| audio_coding_deps += [ ":webrtc_opus" ] |
| } |
| if (!build_with_mozilla && !build_with_chromium) { |
| audio_coding_deps += [ ":red" ] |
| } |
| |
| rtc_source_set("mocks") { |
| testonly = true |
| sources = [ |
| "audio_network_adaptor/mock/mock_audio_network_adaptor.h", |
| "audio_network_adaptor/mock/mock_controller.h", |
| "audio_network_adaptor/mock/mock_controller_manager.h", |
| "audio_network_adaptor/mock/mock_debug_dump_writer.h", |
| ] |
| deps = [ |
| ":audio_network_adaptor", |
| "../../test:test_support", |
| ] |
| } |
| |
| if (!build_with_chromium) { |
| group("audio_coding_tests") { |
| visibility += webrtc_default_visibility |
| testonly = true |
| public_deps = [ # no-presubmit-check TODO(webrtc:8603) |
| ":acm_receive_test", |
| ":acm_send_test", |
| ":audio_codec_speed_tests", |
| ":audio_decoder_unittests", |
| ":audio_decoder_unittests", |
| ":g711_test", |
| ":g722_test", |
| ":ilbc_test", |
| ":neteq_ilbc_quality_test", |
| ":neteq_opus_quality_test", |
| ":neteq_pcm16b_quality_test", |
| ":neteq_pcmu_quality_test", |
| ":neteq_speed_test", |
| ":rtp_analyze", |
| ":rtp_encode", |
| ":rtp_jitter", |
| ":rtpcat", |
| ":webrtc_opus_fec_test", |
| ] |
| if (rtc_enable_protobuf) { |
| public_deps += # no-presubmit-check TODO(webrtc:8603) |
| [ ":neteq_rtpplay" ] |
| } |
| } |
| } |
| |
| rtc_library("audio_coding_modules_tests") { |
| testonly = true |
| visibility += webrtc_default_visibility |
| |
| sources = [ |
| "test/Channel.cc", |
| "test/Channel.h", |
| "test/EncodeDecodeTest.cc", |
| "test/EncodeDecodeTest.h", |
| "test/PacketLossTest.cc", |
| "test/PacketLossTest.h", |
| "test/RTPFile.cc", |
| "test/RTPFile.h", |
| "test/TestAllCodecs.cc", |
| "test/TestAllCodecs.h", |
| "test/TestRedFec.cc", |
| "test/TestRedFec.h", |
| "test/TestVADDTX.cc", |
| "test/TestVADDTX.h", |
| "test/Tester.cc", |
| "test/target_delay_unittest.cc", |
| ] |
| deps = [ |
| ":audio_coding", |
| ":audio_coding_module_typedefs", |
| ":audio_coding_modules_tests_shared", |
| ":audio_encoder_cng", |
| ":pcm16b_c", |
| ":red", |
| ":webrtc_opus_wrapper", |
| "..:module_api", |
| "../../api:rtp_headers", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/audio_codecs:builtin_audio_encoder_factory", |
| "../../api/audio_codecs/L16:audio_decoder_L16", |
| "../../api/audio_codecs/L16:audio_encoder_L16", |
| "../../api/audio_codecs/g711:audio_decoder_g711", |
| "../../api/audio_codecs/g711:audio_encoder_g711", |
| "../../api/audio_codecs/g722:audio_decoder_g722", |
| "../../api/audio_codecs/g722:audio_encoder_g722", |
| "../../api/audio_codecs/ilbc:audio_decoder_ilbc", |
| "../../api/audio_codecs/ilbc:audio_encoder_ilbc", |
| "../../api/audio_codecs/opus:audio_decoder_opus", |
| "../../api/audio_codecs/opus:audio_encoder_opus", |
| "../../api/environment", |
| "../../api/environment:environment_factory", |
| "../../api/units:timestamp", |
| "../../common_audio", |
| "../../rtc_base:checks", |
| "../../rtc_base:logging", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:stringutils", |
| "../../rtc_base:timeutils", |
| "../../rtc_base/synchronization:mutex", |
| "../../test:fileutils", |
| "../../test:scoped_key_value_config", |
| "../../test:test_support", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| ] |
| defines = audio_coding_defines |
| } |
| |
| rtc_library("audio_coding_perf_tests") { |
| testonly = true |
| visibility += webrtc_default_visibility |
| |
| sources = [ |
| "codecs/opus/opus_complexity_unittest.cc", |
| "neteq/test/neteq_performance_unittest.cc", |
| ] |
| deps = [ |
| ":neteq_test_support", |
| ":neteq_test_tools", |
| "../../api/audio_codecs/opus:audio_encoder_opus", |
| "../../api/environment:environment_factory", |
| "../../api/test/metrics:global_metrics_logger_and_exporter", |
| "../../api/test/metrics:metric", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:timeutils", |
| "../../system_wrappers", |
| "../../test:fileutils", |
| "../../test:test_flags", |
| "../../test:test_support", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| ] |
| } |
| |
| rtc_library("acm_receive_test") { |
| testonly = true |
| sources = [ |
| "acm2/acm_receive_test.cc", |
| "acm2/acm_receive_test.h", |
| ] |
| |
| defines = audio_coding_defines |
| |
| deps = [ |
| ":audio_coding", |
| ":neteq_tools", |
| ":neteq_tools_minimal", |
| "../../api:scoped_refptr", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/environment:environment_factory", |
| "../../test:test_support", |
| "//testing/gtest", |
| ] |
| |
| deps += audio_coding_deps |
| } |
| |
| rtc_library("acm_send_test") { |
| testonly = true |
| sources = [ |
| "acm2/acm_send_test.cc", |
| "acm2/acm_send_test.h", |
| ] |
| |
| defines = audio_coding_defines |
| |
| deps = [ |
| ":audio_coding", |
| ":neteq_input_audio_tools", |
| ":neteq_tools", |
| ":neteq_tools_minimal", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/audio_codecs:builtin_audio_encoder_factory", |
| "../../api/environment", |
| "../../api/environment:environment_factory", |
| "../../rtc_base:checks", |
| "../../rtc_base:stringutils", |
| "../../test:test_support", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| ] |
| deps += audio_coding_deps |
| } |
| |
| if (!build_with_chromium) { |
| audio_decoder_unittests_resources = |
| [ "../../resources/audio_coding/testfile32kHz.pcm" ] |
| |
| if (is_ios) { |
| bundle_data("audio_decoder_unittests_bundle_data") { |
| testonly = true |
| sources = audio_decoder_unittests_resources |
| outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] |
| } |
| } |
| |
| rtc_test("audio_decoder_unittests") { |
| testonly = true |
| sources = [ "neteq/audio_decoder_unittest.cc" ] |
| |
| defines = neteq_defines |
| |
| deps = [ |
| ":ilbc", |
| ":neteq", |
| ":neteq_input_audio_tools", |
| ":neteq_tools", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs/opus:audio_encoder_opus", |
| "../../api/environment:environment_factory", |
| "../../common_audio", |
| "../../rtc_base/system:arch", |
| "../../test:explicit_key_value_config", |
| "../../test:fileutils", |
| "../../test:test_main", |
| "../../test:test_support", |
| "//testing/gtest", |
| ] + audio_coding_deps |
| |
| data = audio_decoder_unittests_resources |
| |
| if (is_android) { |
| use_default_launcher = false |
| deps += [ |
| "//build/android/gtest_apk:native_test_instrumentation_test_runner_java", |
| "//testing/android/native_test:native_test_java", |
| "//testing/android/native_test:native_test_support", |
| ] |
| shard_timeout = 900 |
| } |
| if (is_ios) { |
| deps += [ ":audio_decoder_unittests_bundle_data" ] |
| } |
| } |
| } |
| |
| if (rtc_enable_protobuf) { |
| rtc_library("neteq_test_factory") { |
| testonly = true |
| visibility += webrtc_default_visibility |
| defines = audio_codec_defines |
| deps = [ |
| ":neteq_input_audio_tools", |
| ":neteq_tools", |
| ":neteq_tools_minimal", |
| "../../rtc_base:checks", |
| "../../rtc_base:refcount", |
| "../../test:fileutils", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| sources = [ |
| "neteq/tools/neteq_test_factory.cc", |
| "neteq/tools/neteq_test_factory.h", |
| ] |
| |
| deps += [ |
| ":neteq", |
| ":neteq_test_tools", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/neteq:neteq_api", |
| "../../test:audio_test_common", |
| "../../test:field_trial", |
| "../../test:test_support", |
| ] |
| } |
| } |
| |
| if (rtc_enable_protobuf && !build_with_chromium) { |
| rtc_executable("neteq_rtpplay") { |
| testonly = true |
| visibility += [ "*" ] |
| defines = [] |
| deps = [ |
| ":neteq_test_factory", |
| ":neteq_test_tools", |
| ":neteq_tools_minimal", |
| "../../rtc_base:stringutils", |
| "../../system_wrappers:field_trial", |
| "../../test:field_trial", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| "//third_party/abseil-cpp/absl/flags:parse", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| sources = [ "neteq/tools/neteq_rtpplay.cc" ] |
| } |
| } |
| |
| if (!build_with_chromium) { |
| audio_codec_speed_tests_resources = [ |
| "//resources/audio_coding/music_stereo_48kHz.pcm", |
| "//resources/audio_coding/speech_mono_16kHz.pcm", |
| "//resources/audio_coding/speech_mono_32_48kHz.pcm", |
| ] |
| |
| if (is_ios) { |
| bundle_data("audio_codec_speed_tests_data") { |
| testonly = true |
| sources = audio_codec_speed_tests_resources |
| outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] |
| } |
| } |
| |
| rtc_test("audio_codec_speed_tests") { |
| testonly = true |
| defines = [] |
| deps = [ |
| "../../rtc_base:macromagic", |
| "../../test:fileutils", |
| ] |
| sources = [ |
| "codecs/opus/opus_speed_test.cc", |
| "codecs/tools/audio_codec_speed_test.cc", |
| "codecs/tools/audio_codec_speed_test.h", |
| ] |
| |
| data = audio_codec_speed_tests_resources |
| |
| if (is_android) { |
| use_default_launcher = false |
| deps += [ |
| "//build/android/gtest_apk:native_test_instrumentation_test_runner_java", |
| "//testing/android/native_test:native_test_java", |
| "//testing/android/native_test:native_test_support", |
| ] |
| shard_timeout = 900 |
| } |
| |
| if (is_ios) { |
| deps += [ ":audio_codec_speed_tests_data" ] |
| } |
| |
| deps += [ |
| ":webrtc_opus", |
| "../../rtc_base:checks", |
| "../../test:test_main", |
| "../../test:test_support", |
| "../audio_processing", |
| "//testing/gtest", |
| ] |
| } |
| } |
| |
| rtc_library("neteq_test_support") { |
| testonly = true |
| sources = [ |
| "neteq/tools/neteq_performance_test.cc", |
| "neteq/tools/neteq_performance_test.h", |
| ] |
| |
| deps = [ |
| ":default_neteq_factory", |
| ":neteq", |
| ":neteq_test_tools", |
| ":pcm16b", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/environment", |
| "../../api/environment:environment_factory", |
| "../../api/neteq:neteq_api", |
| "../../rtc_base:checks", |
| "../../system_wrappers", |
| "../../test:fileutils", |
| "../../test:test_support", |
| "//testing/gtest", |
| ] |
| } |
| |
| if (!build_with_chromium) { |
| rtc_library("neteq_quality_test_support") { |
| testonly = true |
| sources = [ |
| "neteq/tools/neteq_quality_test.cc", |
| "neteq/tools/neteq_quality_test.h", |
| ] |
| |
| deps = [ |
| ":default_neteq_factory", |
| ":neteq", |
| ":neteq_input_audio_tools", |
| ":neteq_test_tools", |
| ":neteq_tools_minimal", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/environment:environment_factory", |
| "../../api/neteq:neteq_api", |
| "../../api/units:timestamp", |
| "../../rtc_base:checks", |
| "../../rtc_base:stringutils", |
| "../../system_wrappers", |
| "../../test:fileutils", |
| "../../test:test_support", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| ] |
| } |
| |
| rtc_executable("rtp_encode") { |
| testonly = true |
| |
| deps = [ |
| ":audio_coding", |
| ":audio_encoder_cng", |
| ":neteq_input_audio_tools", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs/L16:audio_encoder_L16", |
| "../../api/audio_codecs/g711:audio_encoder_g711", |
| "../../api/audio_codecs/g722:audio_encoder_g722", |
| "../../api/audio_codecs/ilbc:audio_encoder_ilbc", |
| "../../api/audio_codecs/opus:audio_encoder_opus", |
| "../../api/environment:environment_factory", |
| "../../rtc_base:safe_conversions", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| "//third_party/abseil-cpp/absl/flags:parse", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| |
| deps += audio_coding_deps |
| |
| sources = [ "neteq/tools/rtp_encode.cc" ] |
| |
| defines = audio_coding_defines |
| } |
| |
| rtc_executable("rtp_jitter") { |
| testonly = true |
| |
| deps = [ |
| "../../api:array_view", |
| "../../rtc_base:buffer", |
| "../rtp_rtcp:rtp_rtcp_format", |
| ] |
| |
| deps += audio_coding_deps |
| |
| sources = [ "neteq/tools/rtp_jitter.cc" ] |
| |
| defines = audio_coding_defines |
| } |
| |
| rtc_executable("rtpcat") { |
| testonly = true |
| |
| sources = [ "neteq/tools/rtpcat.cc" ] |
| |
| deps = [ |
| "../../rtc_base:checks", |
| "../../test:rtp_test_utils", |
| "//testing/gtest", |
| ] |
| } |
| |
| rtc_executable("rtp_analyze") { |
| testonly = true |
| |
| sources = [ "neteq/tools/rtp_analyze.cc" ] |
| |
| deps = [ |
| ":neteq", |
| ":neteq_test_tools", |
| ":neteq_tools_minimal", |
| ":pcm16b", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| "//third_party/abseil-cpp/absl/flags:parse", |
| ] |
| } |
| |
| rtc_executable("neteq_opus_quality_test") { |
| testonly = true |
| |
| sources = [ "neteq/test/neteq_opus_quality_test.cc" ] |
| |
| deps = [ |
| ":neteq", |
| ":neteq_quality_test_support", |
| ":neteq_tools", |
| ":webrtc_opus", |
| "../../test:test_main", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| ] |
| } |
| |
| rtc_executable("neteq_speed_test") { |
| testonly = true |
| |
| sources = [ "neteq/test/neteq_speed_test.cc" ] |
| |
| deps = [ |
| ":neteq", |
| ":neteq_test_support", |
| "../../rtc_base:checks", |
| "../../test:test_support", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| "//third_party/abseil-cpp/absl/flags:parse", |
| ] |
| } |
| |
| rtc_executable("neteq_ilbc_quality_test") { |
| testonly = true |
| |
| sources = [ "neteq/test/neteq_ilbc_quality_test.cc" ] |
| |
| deps = [ |
| ":ilbc", |
| ":neteq", |
| ":neteq_quality_test_support", |
| ":neteq_tools", |
| "../../rtc_base:checks", |
| "../../rtc_base:safe_conversions", |
| "../../test:fileutils", |
| "../../test:test_main", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| ] |
| } |
| |
| rtc_executable("neteq_pcmu_quality_test") { |
| testonly = true |
| |
| sources = [ "neteq/test/neteq_pcmu_quality_test.cc" ] |
| |
| deps = [ |
| ":g711", |
| ":neteq", |
| ":neteq_quality_test_support", |
| "../../rtc_base:checks", |
| "../../rtc_base:safe_conversions", |
| "../../test:fileutils", |
| "../../test:test_main", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| ] |
| } |
| |
| rtc_executable("neteq_pcm16b_quality_test") { |
| testonly = true |
| |
| sources = [ "neteq/test/neteq_pcm16b_quality_test.cc" ] |
| |
| deps = [ |
| ":neteq", |
| ":neteq_quality_test_support", |
| ":pcm16b", |
| "../../rtc_base:checks", |
| "../../rtc_base:safe_conversions", |
| "../../test:fileutils", |
| "../../test:test_main", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| ] |
| } |
| } |
| |
| rtc_executable("g711_test") { |
| testonly = true |
| |
| sources = [ "codecs/g711/test/testG711.cc" ] |
| |
| deps = [ ":g711" ] |
| } |
| |
| rtc_executable("g722_test") { |
| testonly = true |
| |
| sources = [ "codecs/g722/test/testG722.cc" ] |
| |
| deps = [ ":g722" ] |
| } |
| |
| if (!build_with_chromium) { |
| rtc_executable("ilbc_test") { |
| testonly = true |
| |
| sources = [ "codecs/ilbc/test/iLBC_test.c" ] |
| |
| deps = [ ":ilbc" ] |
| } |
| |
| rtc_executable("webrtc_opus_fec_test") { |
| testonly = true |
| |
| sources = [ "codecs/opus/opus_fec_test.cc" ] |
| |
| deps = [ |
| ":webrtc_opus", |
| "../../common_audio", |
| "../../rtc_base:macromagic", |
| "../../test:fileutils", |
| "../../test:test_main", |
| "../../test:test_support", |
| "//testing/gtest", |
| ] |
| } |
| |
| rtc_library("audio_coding_unittests") { |
| testonly = true |
| visibility += webrtc_default_visibility |
| |
| sources = [ |
| "acm2/acm_receiver_unittest.cc", |
| "acm2/acm_remixing_unittest.cc", |
| "acm2/audio_coding_module_unittest.cc", |
| "acm2/call_statistics_unittest.cc", |
| "audio_network_adaptor/audio_network_adaptor_impl_unittest.cc", |
| "audio_network_adaptor/bitrate_controller_unittest.cc", |
| "audio_network_adaptor/channel_controller_unittest.cc", |
| "audio_network_adaptor/controller_manager_unittest.cc", |
| "audio_network_adaptor/dtx_controller_unittest.cc", |
| "audio_network_adaptor/event_log_writer_unittest.cc", |
| "audio_network_adaptor/fec_controller_plr_based_unittest.cc", |
| "audio_network_adaptor/frame_length_controller_unittest.cc", |
| "audio_network_adaptor/frame_length_controller_v2_unittest.cc", |
| "audio_network_adaptor/util/threshold_curve_unittest.cc", |
| "codecs/builtin_audio_decoder_factory_unittest.cc", |
| "codecs/builtin_audio_encoder_factory_unittest.cc", |
| "codecs/cng/audio_encoder_cng_unittest.cc", |
| "codecs/cng/cng_unittest.cc", |
| "codecs/ilbc/ilbc_unittest.cc", |
| "codecs/legacy_encoded_audio_frame_unittest.cc", |
| "codecs/opus/audio_decoder_multi_channel_opus_unittest.cc", |
| "codecs/opus/audio_encoder_multi_channel_opus_unittest.cc", |
| "codecs/opus/audio_encoder_opus_unittest.cc", |
| "codecs/opus/opus_bandwidth_unittest.cc", |
| "codecs/opus/opus_unittest.cc", |
| "codecs/red/audio_encoder_copy_red_unittest.cc", |
| "neteq/audio_multi_vector_unittest.cc", |
| "neteq/audio_vector_unittest.cc", |
| "neteq/background_noise_unittest.cc", |
| "neteq/buffer_level_filter_unittest.cc", |
| "neteq/comfort_noise_unittest.cc", |
| "neteq/decision_logic_unittest.cc", |
| "neteq/decoder_database_unittest.cc", |
| "neteq/delay_manager_unittest.cc", |
| "neteq/dsp_helper_unittest.cc", |
| "neteq/dtmf_buffer_unittest.cc", |
| "neteq/dtmf_tone_generator_unittest.cc", |
| "neteq/expand_unittest.cc", |
| "neteq/histogram_unittest.cc", |
| "neteq/merge_unittest.cc", |
| "neteq/mock/mock_buffer_level_filter.h", |
| "neteq/mock/mock_decoder_database.h", |
| "neteq/mock/mock_delay_manager.h", |
| "neteq/mock/mock_dtmf_buffer.h", |
| "neteq/mock/mock_dtmf_tone_generator.h", |
| "neteq/mock/mock_expand.h", |
| "neteq/mock/mock_histogram.h", |
| "neteq/mock/mock_neteq_controller.h", |
| "neteq/mock/mock_packet_arrival_history.h", |
| "neteq/mock/mock_packet_buffer.h", |
| "neteq/mock/mock_red_payload_splitter.h", |
| "neteq/mock/mock_statistics_calculator.h", |
| "neteq/nack_tracker_unittest.cc", |
| "neteq/neteq_decoder_plc_unittest.cc", |
| "neteq/neteq_impl_unittest.cc", |
| "neteq/neteq_network_stats_unittest.cc", |
| "neteq/neteq_stereo_unittest.cc", |
| "neteq/neteq_unittest.cc", |
| "neteq/normal_unittest.cc", |
| "neteq/packet_arrival_history_unittest.cc", |
| "neteq/packet_buffer_unittest.cc", |
| "neteq/random_vector_unittest.cc", |
| "neteq/red_payload_splitter_unittest.cc", |
| "neteq/reorder_optimizer_unittest.cc", |
| "neteq/statistics_calculator_unittest.cc", |
| "neteq/sync_buffer_unittest.cc", |
| "neteq/time_stretch_unittest.cc", |
| "neteq/timestamp_scaler_unittest.cc", |
| "neteq/tools/input_audio_file_unittest.cc", |
| "neteq/tools/packet_unittest.cc", |
| "neteq/underrun_optimizer_unittest.cc", |
| ] |
| |
| deps = [ |
| ":acm_receive_test", |
| ":acm_send_test", |
| ":audio_coding", |
| ":audio_coding_module_typedefs", |
| ":audio_coding_modules_tests_shared", |
| ":audio_coding_opus_common", |
| ":audio_encoder_cng", |
| ":audio_network_adaptor", |
| ":default_neteq_factory", |
| ":g711", |
| ":ilbc", |
| ":legacy_encoded_audio_frame", |
| ":mocks", |
| ":neteq", |
| ":neteq_input_audio_tools", |
| ":neteq_test_support", |
| ":neteq_test_tools", |
| ":neteq_tools", |
| ":neteq_tools_minimal", |
| ":pcm16b", |
| ":red", |
| ":webrtc_cng", |
| ":webrtc_opus", |
| "..:module_api", |
| "..:module_api_public", |
| "../../api:array_view", |
| "../../api/audio:audio_frame_api", |
| "../../api/audio_codecs:audio_codecs_api", |
| "../../api/audio_codecs:builtin_audio_decoder_factory", |
| "../../api/audio_codecs:builtin_audio_encoder_factory", |
| "../../api/audio_codecs/opus:audio_decoder_multiopus", |
| "../../api/audio_codecs/opus:audio_decoder_opus", |
| "../../api/audio_codecs/opus:audio_encoder_multiopus", |
| "../../api/audio_codecs/opus:audio_encoder_opus", |
| "../../api/environment", |
| "../../api/environment:environment_factory", |
| "../../api/neteq:default_neteq_controller_factory", |
| "../../api/neteq:neteq_api", |
| "../../api/neteq:neteq_controller_api", |
| "../../api/neteq:tick_timer", |
| "../../api/neteq:tick_timer_unittest", |
| "../../api/rtc_event_log", |
| "../../api/units:timestamp", |
| "../../common_audio", |
| "../../common_audio:common_audio_c", |
| "../../common_audio:mock_common_audio", |
| "../../logging:mocks", |
| "../../logging:rtc_event_audio", |
| "../../modules/rtp_rtcp:rtp_rtcp_format", |
| "../../rtc_base:checks", |
| "../../rtc_base:digest", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:platform_thread", |
| "../../rtc_base:refcount", |
| "../../rtc_base:rtc_base_tests_utils", |
| "../../rtc_base:rtc_event", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:sanitizer", |
| "../../rtc_base:stringutils", |
| "../../rtc_base:timeutils", |
| "../../rtc_base/synchronization:mutex", |
| "../../rtc_base/system:arch", |
| "../../system_wrappers", |
| "../../test:audio_codec_mocks", |
| "../../test:audio_test_common", |
| "../../test:explicit_key_value_config", |
| "../../test:field_trial", |
| "../../test:fileutils", |
| "../../test:rtc_expect_death", |
| "../../test:rtp_test_utils", |
| "../../test:scoped_key_value_config", |
| "../../test:test_common", |
| "../../test:test_support", |
| "codecs/opus/test", |
| "codecs/opus/test:test_unittest", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/flags:flag", |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| |
| defines = audio_coding_defines |
| |
| if (rtc_enable_protobuf) { |
| defines += [ "WEBRTC_NETEQ_UNITTEST_BITEXACT" ] |
| deps += [ |
| ":ana_config_proto", |
| ":neteq_unittest_proto", |
| ] |
| } |
| } |
| } |
| } |
| |
| # For backwards compatibility only! Use |
| # webrtc/api/audio_codecs:audio_codecs_api instead. |
| # TODO(kwiberg): Remove this. |
| rtc_source_set("audio_decoder_interface") { |
| visibility += [ "*" ] |
| sources = [ "codecs/audio_decoder.h" ] |
| deps = [ "../../api/audio_codecs:audio_codecs_api" ] |
| } |
| |
| # For backwards compatibility only! Use |
| # webrtc/api/audio_codecs:audio_codecs_api instead. |
| # TODO(ossu): Remove this. |
| rtc_source_set("audio_encoder_interface") { |
| visibility += [ "*" ] |
| sources = [ "codecs/audio_encoder.h" ] |
| deps = [ "../../api/audio_codecs:audio_codecs_api" ] |
| } |