1# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2# 3# Use of this source code is governed by a BSD-style license 4# that can be found in the LICENSE file in the root of the source 5# tree. An additional intellectual property rights grant can be found 6# in the file PATENTS. All contributing project authors may 7# be found in the AUTHORS file in the root of the source tree. 8 9import("../../webrtc.gni") 10import("audio_coding.gni") 11if (rtc_enable_protobuf) { 12 import("//third_party/protobuf/proto_library.gni") 13} 14 15visibility = [ ":*" ] 16 17rtc_source_set("audio_coding_module_typedefs") { 18 visibility += [ "*" ] 19 sources = [ "include/audio_coding_module_typedefs.h" ] 20 deps = [ "../../rtc_base:deprecation" ] 21} 22 23rtc_library("audio_coding") { 24 visibility += [ "*" ] 25 sources = [ 26 "acm2/acm_receiver.cc", 27 "acm2/acm_receiver.h", 28 "acm2/acm_remixing.cc", 29 "acm2/acm_remixing.h", 30 "acm2/acm_resampler.cc", 31 "acm2/acm_resampler.h", 32 "acm2/audio_coding_module.cc", 33 "acm2/call_statistics.cc", 34 "acm2/call_statistics.h", 35 "include/audio_coding_module.h", 36 ] 37 38 defines = [] 39 40 deps = [ 41 ":audio_coding_module_typedefs", 42 ":default_neteq_factory", 43 ":neteq", 44 "..:module_api", 45 "..:module_api_public", 46 "../../api:array_view", 47 "../../api:function_view", 48 "../../api/audio:audio_frame_api", 49 "../../api/audio_codecs:audio_codecs_api", 50 "../../api/neteq:neteq_api", 51 "../../common_audio", 52 "../../common_audio:common_audio_c", 53 "../../rtc_base:audio_format_to_string", 54 "../../rtc_base:checks", 55 "../../rtc_base:deprecation", 56 "../../rtc_base:rtc_base_approved", 57 "../../rtc_base/synchronization:mutex", 58 "../../system_wrappers", 59 "../../system_wrappers:metrics", 60 ] 61 absl_deps = [ 62 "//third_party/abseil-cpp/absl/strings", 63 "//third_party/abseil-cpp/absl/types:optional", 64 ] 65} 66 67rtc_library("legacy_encoded_audio_frame") { 68 sources = [ 69 "codecs/legacy_encoded_audio_frame.cc", 70 "codecs/legacy_encoded_audio_frame.h", 71 ] 72 deps = [ 73 "../../api:array_view", 74 "../../api/audio_codecs:audio_codecs_api", 75 "../../rtc_base:checks", 76 "../../rtc_base:rtc_base_approved", 77 ] 78 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 79} 80 81rtc_library("webrtc_cng") { 82 visibility += webrtc_default_visibility 83 sources = [ 84 "codecs/cng/webrtc_cng.cc", 85 "codecs/cng/webrtc_cng.h", 86 ] 87 88 deps = [ 89 "../../api:array_view", 90 "../../common_audio:common_audio_c", 91 "../../rtc_base:checks", 92 "../../rtc_base:rtc_base_approved", 93 "../../rtc_base:safe_conversions", 94 ] 95} 96 97rtc_library("audio_encoder_cng") { 98 visibility += [ "*" ] 99 sources = [ 100 "codecs/cng/audio_encoder_cng.cc", 101 "codecs/cng/audio_encoder_cng.h", 102 ] 103 104 deps = [ 105 ":webrtc_cng", 106 "../../api/audio_codecs:audio_codecs_api", 107 "../../api/units:time_delta", 108 "../../common_audio", 109 "../../rtc_base:checks", 110 ] 111 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 112} 113 114rtc_library("red") { 115 visibility += [ "*" ] 116 sources = [ 117 "codecs/red/audio_encoder_copy_red.cc", 118 "codecs/red/audio_encoder_copy_red.h", 119 ] 120 121 deps = [ 122 "../../api:array_view", 123 "../../api/audio_codecs:audio_codecs_api", 124 "../../api/units:time_delta", 125 "../../common_audio", 126 "../../rtc_base:checks", 127 "../../rtc_base:rtc_base_approved", 128 ] 129 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 130} 131 132rtc_library("g711") { 133 visibility += [ "*" ] 134 poisonous = [ "audio_codecs" ] 135 sources = [ 136 "codecs/g711/audio_decoder_pcm.cc", 137 "codecs/g711/audio_decoder_pcm.h", 138 "codecs/g711/audio_encoder_pcm.cc", 139 "codecs/g711/audio_encoder_pcm.h", 140 ] 141 142 deps = [ 143 ":legacy_encoded_audio_frame", 144 "../../api:array_view", 145 "../../api/audio_codecs:audio_codecs_api", 146 "../../api/units:time_delta", 147 "../../rtc_base:checks", 148 "../../rtc_base:rtc_base_approved", 149 ] 150 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 151 public_deps = [ ":g711_c" ] # no-presubmit-check TODO(webrtc:8603) 152} 153 154rtc_library("g711_c") { 155 poisonous = [ "audio_codecs" ] 156 sources = [ 157 "codecs/g711/g711_interface.c", 158 "codecs/g711/g711_interface.h", 159 ] 160 deps = [ "../third_party/g711:g711_3p" ] 161} 162 163rtc_library("g722") { 164 visibility += [ "*" ] 165 poisonous = [ "audio_codecs" ] 166 sources = [ 167 "codecs/g722/audio_decoder_g722.cc", 168 "codecs/g722/audio_decoder_g722.h", 169 "codecs/g722/audio_encoder_g722.cc", 170 "codecs/g722/audio_encoder_g722.h", 171 ] 172 173 deps = [ 174 ":legacy_encoded_audio_frame", 175 "../../api:array_view", 176 "../../api/audio_codecs:audio_codecs_api", 177 "../../api/audio_codecs/g722:audio_encoder_g722_config", 178 "../../api/units:time_delta", 179 "../../rtc_base:checks", 180 "../../rtc_base:rtc_base_approved", 181 ] 182 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 183 public_deps = [ ":g722_c" ] # no-presubmit-check TODO(webrtc:8603) 184} 185 186rtc_library("g722_c") { 187 poisonous = [ "audio_codecs" ] 188 sources = [ 189 "codecs/g722/g722_interface.c", 190 "codecs/g722/g722_interface.h", 191 ] 192 deps = [ "../third_party/g722:g722_3p" ] 193} 194 195rtc_library("ilbc") { 196 visibility += webrtc_default_visibility 197 poisonous = [ "audio_codecs" ] 198 sources = [ 199 "codecs/ilbc/audio_decoder_ilbc.cc", 200 "codecs/ilbc/audio_decoder_ilbc.h", 201 "codecs/ilbc/audio_encoder_ilbc.cc", 202 "codecs/ilbc/audio_encoder_ilbc.h", 203 ] 204 205 deps = [ 206 ":legacy_encoded_audio_frame", 207 "../../api:array_view", 208 "../../api/audio_codecs:audio_codecs_api", 209 "../../api/audio_codecs/ilbc:audio_encoder_ilbc_config", 210 "../../api/units:time_delta", 211 "../../common_audio", 212 "../../rtc_base:checks", 213 "../../rtc_base:rtc_base_approved", 214 ] 215 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 216 public_deps = [ ":ilbc_c" ] # no-presubmit-check TODO(webrtc:8603) 217} 218 219rtc_library("ilbc_c") { 220 poisonous = [ "audio_codecs" ] 221 sources = [ 222 "codecs/ilbc/abs_quant.c", 223 "codecs/ilbc/abs_quant.h", 224 "codecs/ilbc/abs_quant_loop.c", 225 "codecs/ilbc/abs_quant_loop.h", 226 "codecs/ilbc/augmented_cb_corr.c", 227 "codecs/ilbc/augmented_cb_corr.h", 228 "codecs/ilbc/bw_expand.c", 229 "codecs/ilbc/bw_expand.h", 230 "codecs/ilbc/cb_construct.c", 231 "codecs/ilbc/cb_construct.h", 232 "codecs/ilbc/cb_mem_energy.c", 233 "codecs/ilbc/cb_mem_energy.h", 234 "codecs/ilbc/cb_mem_energy_augmentation.c", 235 "codecs/ilbc/cb_mem_energy_augmentation.h", 236 "codecs/ilbc/cb_mem_energy_calc.c", 237 "codecs/ilbc/cb_mem_energy_calc.h", 238 "codecs/ilbc/cb_search.c", 239 "codecs/ilbc/cb_search.h", 240 "codecs/ilbc/cb_search_core.c", 241 "codecs/ilbc/cb_search_core.h", 242 "codecs/ilbc/cb_update_best_index.c", 243 "codecs/ilbc/cb_update_best_index.h", 244 "codecs/ilbc/chebyshev.c", 245 "codecs/ilbc/chebyshev.h", 246 "codecs/ilbc/comp_corr.c", 247 "codecs/ilbc/comp_corr.h", 248 "codecs/ilbc/constants.c", 249 "codecs/ilbc/constants.h", 250 "codecs/ilbc/create_augmented_vec.c", 251 "codecs/ilbc/create_augmented_vec.h", 252 "codecs/ilbc/decode.c", 253 "codecs/ilbc/decode.h", 254 "codecs/ilbc/decode_residual.c", 255 "codecs/ilbc/decode_residual.h", 256 "codecs/ilbc/decoder_interpolate_lsf.c", 257 "codecs/ilbc/decoder_interpolate_lsf.h", 258 "codecs/ilbc/defines.h", 259 "codecs/ilbc/do_plc.c", 260 "codecs/ilbc/do_plc.h", 261 "codecs/ilbc/encode.c", 262 "codecs/ilbc/encode.h", 263 "codecs/ilbc/energy_inverse.c", 264 "codecs/ilbc/energy_inverse.h", 265 "codecs/ilbc/enh_upsample.c", 266 "codecs/ilbc/enh_upsample.h", 267 "codecs/ilbc/enhancer.c", 268 "codecs/ilbc/enhancer.h", 269 "codecs/ilbc/enhancer_interface.c", 270 "codecs/ilbc/enhancer_interface.h", 271 "codecs/ilbc/filtered_cb_vecs.c", 272 "codecs/ilbc/filtered_cb_vecs.h", 273 "codecs/ilbc/frame_classify.c", 274 "codecs/ilbc/frame_classify.h", 275 "codecs/ilbc/gain_dequant.c", 276 "codecs/ilbc/gain_dequant.h", 277 "codecs/ilbc/gain_quant.c", 278 "codecs/ilbc/gain_quant.h", 279 "codecs/ilbc/get_cd_vec.c", 280 "codecs/ilbc/get_cd_vec.h", 281 "codecs/ilbc/get_lsp_poly.c", 282 "codecs/ilbc/get_lsp_poly.h", 283 "codecs/ilbc/get_sync_seq.c", 284 "codecs/ilbc/get_sync_seq.h", 285 "codecs/ilbc/hp_input.c", 286 "codecs/ilbc/hp_input.h", 287 "codecs/ilbc/hp_output.c", 288 "codecs/ilbc/hp_output.h", 289 "codecs/ilbc/ilbc.c", 290 "codecs/ilbc/ilbc.h", 291 "codecs/ilbc/index_conv_dec.c", 292 "codecs/ilbc/index_conv_dec.h", 293 "codecs/ilbc/index_conv_enc.c", 294 "codecs/ilbc/index_conv_enc.h", 295 "codecs/ilbc/init_decode.c", 296 "codecs/ilbc/init_decode.h", 297 "codecs/ilbc/init_encode.c", 298 "codecs/ilbc/init_encode.h", 299 "codecs/ilbc/interpolate.c", 300 "codecs/ilbc/interpolate.h", 301 "codecs/ilbc/interpolate_samples.c", 302 "codecs/ilbc/interpolate_samples.h", 303 "codecs/ilbc/lpc_encode.c", 304 "codecs/ilbc/lpc_encode.h", 305 "codecs/ilbc/lsf_check.c", 306 "codecs/ilbc/lsf_check.h", 307 "codecs/ilbc/lsf_interpolate_to_poly_dec.c", 308 "codecs/ilbc/lsf_interpolate_to_poly_dec.h", 309 "codecs/ilbc/lsf_interpolate_to_poly_enc.c", 310 "codecs/ilbc/lsf_interpolate_to_poly_enc.h", 311 "codecs/ilbc/lsf_to_lsp.c", 312 "codecs/ilbc/lsf_to_lsp.h", 313 "codecs/ilbc/lsf_to_poly.c", 314 "codecs/ilbc/lsf_to_poly.h", 315 "codecs/ilbc/lsp_to_lsf.c", 316 "codecs/ilbc/lsp_to_lsf.h", 317 "codecs/ilbc/my_corr.c", 318 "codecs/ilbc/my_corr.h", 319 "codecs/ilbc/nearest_neighbor.c", 320 "codecs/ilbc/nearest_neighbor.h", 321 "codecs/ilbc/pack_bits.c", 322 "codecs/ilbc/pack_bits.h", 323 "codecs/ilbc/poly_to_lsf.c", 324 "codecs/ilbc/poly_to_lsf.h", 325 "codecs/ilbc/poly_to_lsp.c", 326 "codecs/ilbc/poly_to_lsp.h", 327 "codecs/ilbc/refiner.c", 328 "codecs/ilbc/refiner.h", 329 "codecs/ilbc/simple_interpolate_lsf.c", 330 "codecs/ilbc/simple_interpolate_lsf.h", 331 "codecs/ilbc/simple_lpc_analysis.c", 332 "codecs/ilbc/simple_lpc_analysis.h", 333 "codecs/ilbc/simple_lsf_dequant.c", 334 "codecs/ilbc/simple_lsf_dequant.h", 335 "codecs/ilbc/simple_lsf_quant.c", 336 "codecs/ilbc/simple_lsf_quant.h", 337 "codecs/ilbc/smooth.c", 338 "codecs/ilbc/smooth.h", 339 "codecs/ilbc/smooth_out_data.c", 340 "codecs/ilbc/smooth_out_data.h", 341 "codecs/ilbc/sort_sq.c", 342 "codecs/ilbc/sort_sq.h", 343 "codecs/ilbc/split_vq.c", 344 "codecs/ilbc/split_vq.h", 345 "codecs/ilbc/state_construct.c", 346 "codecs/ilbc/state_construct.h", 347 "codecs/ilbc/state_search.c", 348 "codecs/ilbc/state_search.h", 349 "codecs/ilbc/swap_bytes.c", 350 "codecs/ilbc/swap_bytes.h", 351 "codecs/ilbc/unpack_bits.c", 352 "codecs/ilbc/unpack_bits.h", 353 "codecs/ilbc/vq3.c", 354 "codecs/ilbc/vq3.h", 355 "codecs/ilbc/vq4.c", 356 "codecs/ilbc/vq4.h", 357 "codecs/ilbc/window32_w32.c", 358 "codecs/ilbc/window32_w32.h", 359 "codecs/ilbc/xcorr_coef.c", 360 "codecs/ilbc/xcorr_coef.h", 361 ] 362 363 deps = [ 364 "../../api/audio_codecs:audio_codecs_api", 365 "../../common_audio", 366 "../../common_audio:common_audio_c", 367 "../../rtc_base:checks", 368 "../../rtc_base:rtc_base_approved", 369 "../../rtc_base:sanitizer", 370 "../../rtc_base/system:arch", 371 "../../rtc_base/system:unused", 372 ] 373} 374 375rtc_source_set("isac_common") { 376 poisonous = [ "audio_codecs" ] 377 sources = [ 378 "codecs/isac/audio_decoder_isac_t.h", 379 "codecs/isac/audio_decoder_isac_t_impl.h", 380 "codecs/isac/audio_encoder_isac_t.h", 381 "codecs/isac/audio_encoder_isac_t_impl.h", 382 ] 383 deps = [ 384 ":isac_bwinfo", 385 "../../api:scoped_refptr", 386 "../../api/audio_codecs:audio_codecs_api", 387 "../../api/units:time_delta", 388 "../../rtc_base:checks", 389 "../../rtc_base:rtc_base_approved", 390 "../../rtc_base:safe_minmax", 391 "../../system_wrappers:field_trial", 392 ] 393 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 394} 395 396rtc_library("isac") { 397 visibility += [ "*" ] 398 poisonous = [ "audio_codecs" ] 399 sources = [ 400 "codecs/isac/main/include/audio_decoder_isac.h", 401 "codecs/isac/main/include/audio_encoder_isac.h", 402 "codecs/isac/main/source/audio_decoder_isac.cc", 403 "codecs/isac/main/source/audio_encoder_isac.cc", 404 ] 405 406 deps = [ 407 ":isac_common", 408 "../../api/audio_codecs:audio_codecs_api", 409 ] 410 public_deps = [ ":isac_c" ] # no-presubmit-check TODO(webrtc:8603) 411} 412 413rtc_source_set("isac_bwinfo") { 414 sources = [ "codecs/isac/bandwidth_info.h" ] 415 deps = [] 416} 417 418rtc_library("isac_vad") { 419 visibility += webrtc_default_visibility 420 sources = [ 421 "codecs/isac/main/source/filter_functions.c", 422 "codecs/isac/main/source/filter_functions.h", 423 "codecs/isac/main/source/isac_vad.c", 424 "codecs/isac/main/source/isac_vad.h", 425 "codecs/isac/main/source/os_specific_inline.h", 426 "codecs/isac/main/source/pitch_estimator.c", 427 "codecs/isac/main/source/pitch_estimator.h", 428 "codecs/isac/main/source/pitch_filter.c", 429 "codecs/isac/main/source/pitch_filter.h", 430 "codecs/isac/main/source/settings.h", 431 "codecs/isac/main/source/structs.h", 432 ] 433 deps = [ 434 ":isac_bwinfo", 435 "../../rtc_base:compile_assert_c", 436 "../../rtc_base/system:arch", 437 "../../rtc_base/system:ignore_warnings", 438 "../third_party/fft", 439 ] 440} 441 442rtc_library("isac_c") { 443 poisonous = [ "audio_codecs" ] 444 sources = [ 445 "codecs/isac/main/include/isac.h", 446 "codecs/isac/main/source/arith_routines.c", 447 "codecs/isac/main/source/arith_routines.h", 448 "codecs/isac/main/source/arith_routines_hist.c", 449 "codecs/isac/main/source/arith_routines_logist.c", 450 "codecs/isac/main/source/bandwidth_estimator.c", 451 "codecs/isac/main/source/bandwidth_estimator.h", 452 "codecs/isac/main/source/codec.h", 453 "codecs/isac/main/source/crc.c", 454 "codecs/isac/main/source/crc.h", 455 "codecs/isac/main/source/decode.c", 456 "codecs/isac/main/source/decode_bwe.c", 457 "codecs/isac/main/source/encode.c", 458 "codecs/isac/main/source/encode_lpc_swb.c", 459 "codecs/isac/main/source/encode_lpc_swb.h", 460 "codecs/isac/main/source/entropy_coding.c", 461 "codecs/isac/main/source/entropy_coding.h", 462 "codecs/isac/main/source/filterbanks.c", 463 "codecs/isac/main/source/intialize.c", 464 "codecs/isac/main/source/isac.c", 465 "codecs/isac/main/source/isac_float_type.h", 466 "codecs/isac/main/source/lattice.c", 467 "codecs/isac/main/source/lpc_analysis.c", 468 "codecs/isac/main/source/lpc_analysis.h", 469 "codecs/isac/main/source/lpc_gain_swb_tables.c", 470 "codecs/isac/main/source/lpc_gain_swb_tables.h", 471 "codecs/isac/main/source/lpc_shape_swb12_tables.c", 472 "codecs/isac/main/source/lpc_shape_swb12_tables.h", 473 "codecs/isac/main/source/lpc_shape_swb16_tables.c", 474 "codecs/isac/main/source/lpc_shape_swb16_tables.h", 475 "codecs/isac/main/source/lpc_tables.c", 476 "codecs/isac/main/source/lpc_tables.h", 477 "codecs/isac/main/source/pitch_gain_tables.c", 478 "codecs/isac/main/source/pitch_gain_tables.h", 479 "codecs/isac/main/source/pitch_lag_tables.c", 480 "codecs/isac/main/source/pitch_lag_tables.h", 481 "codecs/isac/main/source/spectrum_ar_model_tables.c", 482 "codecs/isac/main/source/spectrum_ar_model_tables.h", 483 "codecs/isac/main/source/transform.c", 484 ] 485 486 if (is_linux) { 487 libs = [ "m" ] 488 } 489 490 deps = [ 491 ":isac_bwinfo", 492 ":isac_vad", 493 "../../common_audio", 494 "../../common_audio:common_audio_c", 495 "../../rtc_base:checks", 496 "../../rtc_base:compile_assert_c", 497 "../../rtc_base:rtc_base_approved", 498 "../../rtc_base/system:arch", 499 "../third_party/fft", 500 ] 501} 502 503rtc_library("isac_fix") { 504 visibility += [ "*" ] 505 poisonous = [ "audio_codecs" ] 506 sources = [ 507 "codecs/isac/fix/source/audio_decoder_isacfix.cc", 508 "codecs/isac/fix/source/audio_encoder_isacfix.cc", 509 ] 510 511 deps = [ 512 ":isac_common", 513 "../../api/audio_codecs:audio_codecs_api", 514 "../../common_audio", 515 "../../system_wrappers", 516 ] 517 public_deps = [ ":isac_fix_c" ] # no-presubmit-check TODO(webrtc:8603) 518 519 if (rtc_build_with_neon) { 520 deps += [ ":isac_neon" ] 521 } 522} 523 524rtc_library("isac_fix_common") { 525 poisonous = [ "audio_codecs" ] 526 sources = [ 527 "codecs/isac/fix/source/codec.h", 528 "codecs/isac/fix/source/entropy_coding.h", 529 "codecs/isac/fix/source/fft.c", 530 "codecs/isac/fix/source/fft.h", 531 "codecs/isac/fix/source/filterbank_internal.h", 532 "codecs/isac/fix/source/settings.h", 533 "codecs/isac/fix/source/structs.h", 534 "codecs/isac/fix/source/transform_tables.c", 535 ] 536 deps = [ 537 ":isac_bwinfo", 538 "../../common_audio", 539 "../../common_audio:common_audio_c", 540 ] 541} 542 543rtc_source_set("isac_fix_c_arm_asm") { 544 poisonous = [ "audio_codecs" ] 545 sources = [] 546 if (current_cpu == "arm" && arm_version >= 7) { 547 sources += [ 548 "codecs/isac/fix/source/lattice_armv7.S", 549 "codecs/isac/fix/source/pitch_filter_armv6.S", 550 ] 551 deps = [ 552 ":isac_fix_common", 553 "../../rtc_base/system:asm_defines", 554 ] 555 } 556} 557 558rtc_library("isac_fix_c") { 559 poisonous = [ "audio_codecs" ] 560 sources = [ 561 "codecs/isac/fix/include/audio_decoder_isacfix.h", 562 "codecs/isac/fix/include/audio_encoder_isacfix.h", 563 "codecs/isac/fix/include/isacfix.h", 564 "codecs/isac/fix/source/arith_routines.c", 565 "codecs/isac/fix/source/arith_routines_hist.c", 566 "codecs/isac/fix/source/arith_routines_logist.c", 567 "codecs/isac/fix/source/arith_routins.h", 568 "codecs/isac/fix/source/bandwidth_estimator.c", 569 "codecs/isac/fix/source/bandwidth_estimator.h", 570 "codecs/isac/fix/source/decode.c", 571 "codecs/isac/fix/source/decode_bwe.c", 572 "codecs/isac/fix/source/decode_plc.c", 573 "codecs/isac/fix/source/encode.c", 574 "codecs/isac/fix/source/entropy_coding.c", 575 "codecs/isac/fix/source/filterbank_tables.c", 576 "codecs/isac/fix/source/filterbank_tables.h", 577 "codecs/isac/fix/source/filterbanks.c", 578 "codecs/isac/fix/source/filters.c", 579 "codecs/isac/fix/source/initialize.c", 580 "codecs/isac/fix/source/isac_fix_type.h", 581 "codecs/isac/fix/source/isacfix.c", 582 "codecs/isac/fix/source/lattice.c", 583 "codecs/isac/fix/source/lattice_c.c", 584 "codecs/isac/fix/source/lpc_masking_model.c", 585 "codecs/isac/fix/source/lpc_masking_model.h", 586 "codecs/isac/fix/source/lpc_tables.c", 587 "codecs/isac/fix/source/lpc_tables.h", 588 "codecs/isac/fix/source/pitch_estimator.c", 589 "codecs/isac/fix/source/pitch_estimator.h", 590 "codecs/isac/fix/source/pitch_estimator_c.c", 591 "codecs/isac/fix/source/pitch_filter.c", 592 "codecs/isac/fix/source/pitch_filter_c.c", 593 "codecs/isac/fix/source/pitch_gain_tables.c", 594 "codecs/isac/fix/source/pitch_gain_tables.h", 595 "codecs/isac/fix/source/pitch_lag_tables.c", 596 "codecs/isac/fix/source/pitch_lag_tables.h", 597 "codecs/isac/fix/source/spectrum_ar_model_tables.c", 598 "codecs/isac/fix/source/spectrum_ar_model_tables.h", 599 "codecs/isac/fix/source/transform.c", 600 ] 601 602 deps = [ 603 ":isac_bwinfo", 604 ":isac_common", 605 "../../api/audio_codecs:audio_codecs_api", 606 "../../common_audio", 607 "../../common_audio:common_audio_c", 608 "../../rtc_base:checks", 609 "../../rtc_base:compile_assert_c", 610 "../../rtc_base:rtc_base_approved", 611 "../../rtc_base:sanitizer", 612 "../../system_wrappers:cpu_features_api", 613 "../third_party/fft", 614 ] 615 616 public_deps = [ ":isac_fix_common" ] # no-presubmit-check TODO(webrtc:8603) 617 618 if (rtc_build_with_neon) { 619 deps += [ ":isac_neon" ] 620 621 # TODO(bugs.webrtc.org/9579): Consider moving the usage of NEON from 622 # pitch_estimator_c.c into the "isac_neon" target and delete this flag: 623 if (current_cpu != "arm64") { 624 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ] 625 cflags = [ "-mfpu=neon" ] 626 } 627 } 628 629 if (current_cpu == "arm" && arm_version >= 7) { 630 sources -= [ 631 "codecs/isac/fix/source/lattice_c.c", 632 "codecs/isac/fix/source/pitch_filter_c.c", 633 ] 634 deps += [ ":isac_fix_c_arm_asm" ] 635 } 636 637 if (current_cpu == "mipsel") { 638 sources += [ 639 "codecs/isac/fix/source/entropy_coding_mips.c", 640 "codecs/isac/fix/source/filters_mips.c", 641 "codecs/isac/fix/source/lattice_mips.c", 642 "codecs/isac/fix/source/pitch_estimator_mips.c", 643 "codecs/isac/fix/source/transform_mips.c", 644 ] 645 sources -= [ 646 "codecs/isac/fix/source/lattice_c.c", 647 "codecs/isac/fix/source/pitch_estimator_c.c", 648 ] 649 if (mips_dsp_rev > 0) { 650 sources += [ "codecs/isac/fix/source/filterbanks_mips.c" ] 651 } 652 if (mips_dsp_rev > 1) { 653 sources += [ 654 "codecs/isac/fix/source/lpc_masking_model_mips.c", 655 "codecs/isac/fix/source/pitch_filter_mips.c", 656 ] 657 sources -= [ "codecs/isac/fix/source/pitch_filter_c.c" ] 658 } 659 } 660} 661 662if (rtc_build_with_neon) { 663 rtc_library("isac_neon") { 664 poisonous = [ "audio_codecs" ] 665 sources = [ 666 "codecs/isac/fix/source/entropy_coding_neon.c", 667 "codecs/isac/fix/source/filterbanks_neon.c", 668 "codecs/isac/fix/source/filters_neon.c", 669 "codecs/isac/fix/source/lattice_neon.c", 670 "codecs/isac/fix/source/transform_neon.c", 671 ] 672 673 if (current_cpu != "arm64") { 674 # Enable compilation for the NEON instruction set. 675 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ] 676 cflags = [ "-mfpu=neon" ] 677 } 678 679 deps = [ 680 ":isac_fix_common", 681 "../../common_audio", 682 "../../common_audio:common_audio_c", 683 "../../rtc_base:checks", 684 "../../rtc_base:rtc_base_approved", 685 ] 686 } 687} 688 689rtc_library("pcm16b") { 690 visibility += [ "*" ] 691 poisonous = [ "audio_codecs" ] 692 sources = [ 693 "codecs/pcm16b/audio_decoder_pcm16b.cc", 694 "codecs/pcm16b/audio_decoder_pcm16b.h", 695 "codecs/pcm16b/audio_encoder_pcm16b.cc", 696 "codecs/pcm16b/audio_encoder_pcm16b.h", 697 "codecs/pcm16b/pcm16b_common.cc", 698 "codecs/pcm16b/pcm16b_common.h", 699 ] 700 701 deps = [ 702 ":g711", 703 ":legacy_encoded_audio_frame", 704 "../../api:array_view", 705 "../../api/audio_codecs:audio_codecs_api", 706 "../../rtc_base:checks", 707 "../../rtc_base:rtc_base_approved", 708 ] 709 public_deps = [ ":pcm16b_c" ] # no-presubmit-check TODO(webrtc:8603) 710} 711 712rtc_library("pcm16b_c") { 713 poisonous = [ "audio_codecs" ] 714 sources = [ 715 "codecs/pcm16b/pcm16b.c", 716 "codecs/pcm16b/pcm16b.h", 717 ] 718} 719 720rtc_library("audio_coding_opus_common") { 721 sources = [ 722 "codecs/opus/audio_coder_opus_common.cc", 723 "codecs/opus/audio_coder_opus_common.h", 724 ] 725 726 deps = [ 727 "../../api:array_view", 728 "../../api/audio_codecs:audio_codecs_api", 729 "../../rtc_base:checks", 730 "../../rtc_base:stringutils", 731 ] 732 absl_deps = [ 733 "//third_party/abseil-cpp/absl/strings", 734 "//third_party/abseil-cpp/absl/types:optional", 735 ] 736} 737 738rtc_library("webrtc_opus") { 739 visibility += webrtc_default_visibility 740 poisonous = [ "audio_codecs" ] 741 sources = [ 742 "codecs/opus/audio_decoder_opus.cc", 743 "codecs/opus/audio_decoder_opus.h", 744 "codecs/opus/audio_encoder_opus.cc", 745 "codecs/opus/audio_encoder_opus.h", 746 ] 747 748 deps = [ 749 ":audio_coding_opus_common", 750 ":audio_network_adaptor", 751 "../../api:array_view", 752 "../../api/audio_codecs:audio_codecs_api", 753 "../../api/audio_codecs/opus:audio_encoder_opus_config", 754 "../../common_audio", 755 "../../rtc_base:checks", 756 "../../rtc_base:protobuf_utils", 757 "../../rtc_base:rtc_base_approved", 758 "../../rtc_base:rtc_numerics", 759 "../../rtc_base:safe_minmax", 760 "../../system_wrappers:field_trial", 761 ] 762 absl_deps = [ 763 "//third_party/abseil-cpp/absl/strings", 764 "//third_party/abseil-cpp/absl/types:optional", 765 ] 766 public_deps = # no-presubmit-check TODO(webrtc:8603) 767 [ ":webrtc_opus_wrapper" ] 768 769 defines = audio_codec_defines 770 771 if (rtc_build_opus) { 772 public_deps += [ rtc_opus_dir ] # no-presubmit-check TODO(webrtc:8603) 773 } else if (build_with_mozilla) { 774 include_dirs = [ "/media/libopus/include" ] 775 } 776} 777 778rtc_library("webrtc_multiopus") { 779 visibility += webrtc_default_visibility 780 poisonous = [ "audio_codecs" ] 781 sources = [ 782 "codecs/opus/audio_decoder_multi_channel_opus_impl.cc", 783 "codecs/opus/audio_decoder_multi_channel_opus_impl.h", 784 "codecs/opus/audio_encoder_multi_channel_opus_impl.cc", 785 "codecs/opus/audio_encoder_multi_channel_opus_impl.h", 786 ] 787 788 deps = [ 789 ":audio_coding_opus_common", 790 "../../api/audio_codecs:audio_codecs_api", 791 "../../api/audio_codecs/opus:audio_decoder_opus_config", 792 "../../api/audio_codecs/opus:audio_encoder_opus_config", 793 "../../api/units:time_delta", 794 "../../rtc_base:checks", 795 "../../rtc_base:logging", 796 "../../rtc_base:macromagic", 797 "../../rtc_base:rtc_base_approved", 798 "../../rtc_base:safe_minmax", 799 "../../rtc_base:stringutils", 800 ] 801 absl_deps = [ 802 "//third_party/abseil-cpp/absl/memory", 803 "//third_party/abseil-cpp/absl/strings", 804 "//third_party/abseil-cpp/absl/types:optional", 805 ] 806 public_deps = # no-presubmit-check TODO(webrtc:8603) 807 [ ":webrtc_opus_wrapper" ] 808 809 defines = audio_codec_defines 810 811 if (rtc_build_opus) { 812 public_deps += [ rtc_opus_dir ] 813 } else if (build_with_mozilla) { 814 include_dirs = [ "/media/libopus/include" ] 815 } 816} 817 818rtc_library("webrtc_opus_wrapper") { 819 poisonous = [ "audio_codecs" ] 820 sources = [ 821 "codecs/opus/opus_inst.h", 822 "codecs/opus/opus_interface.cc", 823 "codecs/opus/opus_interface.h", 824 ] 825 826 defines = audio_coding_defines 827 828 if (rtc_build_opus) { 829 public_deps = [ rtc_opus_dir ] # no-presubmit-check TODO(webrtc:8603) 830 } else if (build_with_mozilla) { 831 include_dirs = [ getenv("DIST") + "/include/opus" ] 832 } 833 834 deps = [ 835 "../../rtc_base:checks", 836 "../../rtc_base:ignore_wundef", 837 "../../rtc_base:rtc_base_approved", 838 "../../system_wrappers:field_trial", 839 ] 840} 841 842if (rtc_enable_protobuf) { 843 proto_library("ana_debug_dump_proto") { 844 visibility += webrtc_default_visibility 845 sources = [ "audio_network_adaptor/debug_dump.proto" ] 846 link_deps = [ ":ana_config_proto" ] 847 proto_out_dir = "modules/audio_coding/audio_network_adaptor" 848 } 849 proto_library("ana_config_proto") { 850 visibility += [ "*" ] 851 sources = [ "audio_network_adaptor/config.proto" ] 852 proto_out_dir = "modules/audio_coding/audio_network_adaptor" 853 } 854} 855 856rtc_library("audio_network_adaptor_config") { 857 visibility += webrtc_default_visibility 858 sources = [ 859 "audio_network_adaptor/audio_network_adaptor_config.cc", 860 "audio_network_adaptor/include/audio_network_adaptor_config.h", 861 ] 862 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 863} 864 865rtc_library("audio_network_adaptor") { 866 visibility += webrtc_default_visibility 867 sources = [ 868 "audio_network_adaptor/audio_network_adaptor_impl.cc", 869 "audio_network_adaptor/audio_network_adaptor_impl.h", 870 "audio_network_adaptor/bitrate_controller.cc", 871 "audio_network_adaptor/bitrate_controller.h", 872 "audio_network_adaptor/channel_controller.cc", 873 "audio_network_adaptor/channel_controller.h", 874 "audio_network_adaptor/controller.cc", 875 "audio_network_adaptor/controller.h", 876 "audio_network_adaptor/controller_manager.cc", 877 "audio_network_adaptor/controller_manager.h", 878 "audio_network_adaptor/debug_dump_writer.cc", 879 "audio_network_adaptor/debug_dump_writer.h", 880 "audio_network_adaptor/dtx_controller.cc", 881 "audio_network_adaptor/dtx_controller.h", 882 "audio_network_adaptor/event_log_writer.cc", 883 "audio_network_adaptor/event_log_writer.h", 884 "audio_network_adaptor/fec_controller_plr_based.cc", 885 "audio_network_adaptor/fec_controller_plr_based.h", 886 "audio_network_adaptor/frame_length_controller.cc", 887 "audio_network_adaptor/frame_length_controller.h", 888 "audio_network_adaptor/frame_length_controller_v2.cc", 889 "audio_network_adaptor/frame_length_controller_v2.h", 890 "audio_network_adaptor/include/audio_network_adaptor.h", 891 "audio_network_adaptor/util/threshold_curve.h", 892 ] 893 894 public_deps = # no-presubmit-check TODO(webrtc:8603) 895 [ ":audio_network_adaptor_config" ] 896 897 deps = [ 898 "../../api/audio_codecs:audio_codecs_api", 899 "../../api/rtc_event_log", 900 "../../common_audio", 901 "../../logging:rtc_event_audio", 902 "../../rtc_base:checks", 903 "../../rtc_base:ignore_wundef", 904 "../../rtc_base:protobuf_utils", 905 "../../rtc_base:rtc_base_approved", 906 "../../rtc_base/system:file_wrapper", 907 "../../system_wrappers", 908 "../../system_wrappers:field_trial", 909 ] 910 absl_deps = [ 911 "//third_party/abseil-cpp/absl/algorithm:container", 912 "//third_party/abseil-cpp/absl/types:optional", 913 ] 914 915 if (rtc_enable_protobuf) { 916 deps += [ 917 ":ana_config_proto", 918 ":ana_debug_dump_proto", 919 ] 920 } 921} 922 923rtc_library("neteq") { 924 visibility += webrtc_default_visibility 925 sources = [ 926 "neteq/accelerate.cc", 927 "neteq/accelerate.h", 928 "neteq/audio_multi_vector.cc", 929 "neteq/audio_multi_vector.h", 930 "neteq/audio_vector.cc", 931 "neteq/audio_vector.h", 932 "neteq/background_noise.cc", 933 "neteq/background_noise.h", 934 "neteq/buffer_level_filter.cc", 935 "neteq/buffer_level_filter.h", 936 "neteq/comfort_noise.cc", 937 "neteq/comfort_noise.h", 938 "neteq/cross_correlation.cc", 939 "neteq/cross_correlation.h", 940 "neteq/decision_logic.cc", 941 "neteq/decision_logic.h", 942 "neteq/decoder_database.cc", 943 "neteq/decoder_database.h", 944 "neteq/delay_manager.cc", 945 "neteq/delay_manager.h", 946 "neteq/dsp_helper.cc", 947 "neteq/dsp_helper.h", 948 "neteq/dtmf_buffer.cc", 949 "neteq/dtmf_buffer.h", 950 "neteq/dtmf_tone_generator.cc", 951 "neteq/dtmf_tone_generator.h", 952 "neteq/expand.cc", 953 "neteq/expand.h", 954 "neteq/expand_uma_logger.cc", 955 "neteq/expand_uma_logger.h", 956 "neteq/histogram.cc", 957 "neteq/histogram.h", 958 "neteq/merge.cc", 959 "neteq/merge.h", 960 "neteq/nack_tracker.cc", 961 "neteq/nack_tracker.h", 962 "neteq/neteq_impl.cc", 963 "neteq/neteq_impl.h", 964 "neteq/normal.cc", 965 "neteq/normal.h", 966 "neteq/packet.cc", 967 "neteq/packet.h", 968 "neteq/packet_buffer.cc", 969 "neteq/packet_buffer.h", 970 "neteq/post_decode_vad.cc", 971 "neteq/post_decode_vad.h", 972 "neteq/preemptive_expand.cc", 973 "neteq/preemptive_expand.h", 974 "neteq/random_vector.cc", 975 "neteq/random_vector.h", 976 "neteq/red_payload_splitter.cc", 977 "neteq/red_payload_splitter.h", 978 "neteq/statistics_calculator.cc", 979 "neteq/statistics_calculator.h", 980 "neteq/sync_buffer.cc", 981 "neteq/sync_buffer.h", 982 "neteq/time_stretch.cc", 983 "neteq/time_stretch.h", 984 "neteq/timestamp_scaler.cc", 985 "neteq/timestamp_scaler.h", 986 ] 987 988 deps = [ 989 ":audio_coding_module_typedefs", 990 ":webrtc_cng", 991 "..:module_api", 992 "..:module_api_public", 993 "../../api:array_view", 994 "../../api:rtp_headers", 995 "../../api:rtp_packet_info", 996 "../../api:scoped_refptr", 997 "../../api/audio:audio_frame_api", 998 "../../api/audio_codecs:audio_codecs_api", 999 "../../api/neteq:neteq_api", 1000 "../../api/neteq:neteq_controller_api", 1001 "../../api/neteq:tick_timer", 1002 "../../common_audio", 1003 "../../common_audio:common_audio_c", 1004 "../../rtc_base:audio_format_to_string", 1005 "../../rtc_base:checks", 1006 "../../rtc_base:gtest_prod", 1007 "../../rtc_base:rtc_base_approved", 1008 "../../rtc_base:safe_minmax", 1009 "../../rtc_base:sanitizer", 1010 "../../rtc_base/experiments:field_trial_parser", 1011 "../../rtc_base/synchronization:mutex", 1012 "../../system_wrappers", 1013 "../../system_wrappers:field_trial", 1014 "../../system_wrappers:metrics", 1015 ] 1016 absl_deps = [ 1017 "//third_party/abseil-cpp/absl/strings", 1018 "//third_party/abseil-cpp/absl/types:optional", 1019 ] 1020} 1021 1022rtc_source_set("default_neteq_factory") { 1023 visibility += webrtc_default_visibility 1024 sources = [ 1025 "neteq/default_neteq_factory.cc", 1026 "neteq/default_neteq_factory.h", 1027 ] 1028 deps = [ 1029 ":neteq", 1030 "../../api:scoped_refptr", 1031 "../../api/audio_codecs:audio_codecs_api", 1032 "../../api/neteq:default_neteq_controller_factory", 1033 "../../api/neteq:neteq_api", 1034 "../../system_wrappers:system_wrappers", 1035 ] 1036} 1037 1038# Although providing only test support, this target must be outside of the 1039# rtc_include_tests conditional. The reason is that it supports fuzzer tests 1040# that ultimately are built and run as a part of the Chromium ecosystem, which 1041# does not set the rtc_include_tests flag. 1042rtc_library("neteq_tools_minimal") { 1043 visibility += webrtc_default_visibility 1044 sources = [ 1045 "neteq/tools/audio_sink.cc", 1046 "neteq/tools/audio_sink.h", 1047 "neteq/tools/encode_neteq_input.cc", 1048 "neteq/tools/encode_neteq_input.h", 1049 "neteq/tools/neteq_input.cc", 1050 "neteq/tools/neteq_input.h", 1051 "neteq/tools/neteq_test.cc", 1052 "neteq/tools/neteq_test.h", 1053 "neteq/tools/packet.cc", 1054 "neteq/tools/packet.h", 1055 "neteq/tools/packet_source.cc", 1056 "neteq/tools/packet_source.h", 1057 ] 1058 1059 deps = [ 1060 ":default_neteq_factory", 1061 ":neteq", 1062 "../../api:neteq_simulator_api", 1063 "../../api:rtp_headers", 1064 "../../api/audio:audio_frame_api", 1065 "../../api/audio_codecs:audio_codecs_api", 1066 "../../api/neteq:custom_neteq_factory", 1067 "../../api/neteq:default_neteq_controller_factory", 1068 "../../api/neteq:neteq_api", 1069 "../../rtc_base:checks", 1070 "../../rtc_base:rtc_base_approved", 1071 "../../system_wrappers", 1072 "../rtp_rtcp", 1073 "../rtp_rtcp:rtp_rtcp_format", 1074 ] 1075 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 1076 defines = audio_codec_defines 1077} 1078 1079rtc_library("neteq_test_tools") { 1080 visibility += webrtc_default_visibility 1081 testonly = true 1082 sources = [ 1083 "neteq/tools/audio_checksum.h", 1084 "neteq/tools/audio_loop.cc", 1085 "neteq/tools/audio_loop.h", 1086 "neteq/tools/constant_pcm_packet_source.cc", 1087 "neteq/tools/constant_pcm_packet_source.h", 1088 "neteq/tools/initial_packet_inserter_neteq_input.cc", 1089 "neteq/tools/initial_packet_inserter_neteq_input.h", 1090 "neteq/tools/neteq_packet_source_input.cc", 1091 "neteq/tools/neteq_packet_source_input.h", 1092 "neteq/tools/output_audio_file.h", 1093 "neteq/tools/output_wav_file.h", 1094 "neteq/tools/rtp_file_source.cc", 1095 "neteq/tools/rtp_file_source.h", 1096 "neteq/tools/rtp_generator.cc", 1097 "neteq/tools/rtp_generator.h", 1098 ] 1099 1100 deps = [ 1101 ":pcm16b", 1102 "../../api:array_view", 1103 "../../api:rtp_headers", 1104 "../../common_audio", 1105 "../../rtc_base", 1106 "../../rtc_base:checks", 1107 "../../rtc_base:rtc_base_approved", 1108 "../../rtc_base/system:arch", 1109 "../../test:rtp_test_utils", 1110 "../rtp_rtcp", 1111 "../rtp_rtcp:rtp_rtcp_format", 1112 ] 1113 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 1114 1115 public_deps = [ 1116 ":neteq_tools", 1117 ":neteq_tools_minimal", 1118 ] 1119 1120 if (rtc_enable_protobuf) { 1121 sources += [ 1122 "neteq/tools/neteq_event_log_input.cc", 1123 "neteq/tools/neteq_event_log_input.h", 1124 ] 1125 deps += [ ":rtc_event_log_source" ] 1126 } 1127} 1128 1129rtc_library("neteq_tools") { 1130 visibility += webrtc_default_visibility 1131 sources = [ 1132 "neteq/tools/fake_decode_from_file.cc", 1133 "neteq/tools/fake_decode_from_file.h", 1134 "neteq/tools/neteq_delay_analyzer.cc", 1135 "neteq/tools/neteq_delay_analyzer.h", 1136 "neteq/tools/neteq_replacement_input.cc", 1137 "neteq/tools/neteq_replacement_input.h", 1138 "neteq/tools/neteq_stats_getter.cc", 1139 "neteq/tools/neteq_stats_getter.h", 1140 "neteq/tools/neteq_stats_plotter.cc", 1141 "neteq/tools/neteq_stats_plotter.h", 1142 ] 1143 1144 deps = [ 1145 "..:module_api_public", 1146 "../../api:array_view", 1147 "../../api/audio_codecs:audio_codecs_api", 1148 "../../rtc_base:checks", 1149 "../../rtc_base:rtc_base_approved", 1150 "../rtp_rtcp", 1151 "../rtp_rtcp:rtp_rtcp_format", 1152 ] 1153 absl_deps = [ 1154 "//third_party/abseil-cpp/absl/strings", 1155 "//third_party/abseil-cpp/absl/types:optional", 1156 ] 1157 1158 public_deps = [ 1159 ":neteq_input_audio_tools", 1160 ":neteq_tools_minimal", 1161 ] 1162} 1163 1164rtc_library("neteq_input_audio_tools") { 1165 visibility += webrtc_default_visibility 1166 sources = [ 1167 "neteq/tools/input_audio_file.cc", 1168 "neteq/tools/input_audio_file.h", 1169 "neteq/tools/resample_input_audio_file.cc", 1170 "neteq/tools/resample_input_audio_file.h", 1171 ] 1172 1173 deps = [ 1174 "../../common_audio", 1175 "../../rtc_base:checks", 1176 "../../rtc_base:rtc_base_approved", 1177 ] 1178} 1179 1180if (rtc_enable_protobuf) { 1181 rtc_library("rtc_event_log_source") { 1182 testonly = true 1183 1184 sources = [ 1185 "neteq/tools/rtc_event_log_source.cc", 1186 "neteq/tools/rtc_event_log_source.h", 1187 ] 1188 1189 deps = [ 1190 ":neteq_tools_minimal", 1191 "../../logging:rtc_event_log_parser", 1192 "../../rtc_base:checks", 1193 "../../rtc_base:rtc_base_approved", 1194 "../rtp_rtcp", 1195 "../rtp_rtcp:rtp_rtcp_format", 1196 ] 1197 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 1198 public_deps = # no-presubmit-check TODO(webrtc:8603) 1199 [ "../../logging:rtc_event_log_proto" ] 1200 } 1201 1202 # Only used for test purpose. Since we want to use it from chromium 1203 # (see audio_coding_modules_tests_shared below), we cannot guard it 1204 # under rtc_include_tests. 1205 proto_library("neteq_unittest_proto") { 1206 testonly = true 1207 sources = [ "neteq/neteq_unittest.proto" ] 1208 proto_out_dir = "modules/audio_coding/neteq" 1209 } 1210} 1211 1212# Allow to re-use some test classes from chromium. 1213rtc_library("audio_coding_modules_tests_shared") { 1214 testonly = true 1215 visibility = [] 1216 visibility = [ "*" ] 1217 1218 sources = [ 1219 "neteq/test/neteq_decoding_test.cc", 1220 "neteq/test/neteq_decoding_test.h", 1221 "neteq/test/result_sink.cc", 1222 "neteq/test/result_sink.h", 1223 "test/PCMFile.cc", 1224 "test/PCMFile.h", 1225 "test/TestStereo.cc", 1226 "test/TestStereo.h", 1227 "test/opus_test.cc", 1228 "test/opus_test.h", 1229 ] 1230 1231 deps = [ 1232 ":audio_coding", 1233 ":audio_coding_module_typedefs", 1234 ":default_neteq_factory", 1235 ":neteq_test_tools", 1236 ":neteq_tools_minimal", 1237 ":webrtc_opus_wrapper", 1238 "..:module_api", 1239 "../../api:rtp_headers", 1240 "../../api/audio:audio_frame_api", 1241 "../../api/audio_codecs:builtin_audio_decoder_factory", 1242 "../../api/audio_codecs:builtin_audio_encoder_factory", 1243 "../../api/neteq:neteq_api", 1244 "../../rtc_base", 1245 "../../rtc_base:checks", 1246 "../../rtc_base:ignore_wundef", 1247 "../../rtc_base:rtc_base_approved", 1248 "../../rtc_base:stringutils", 1249 "../../system_wrappers", 1250 "../../test:fileutils", 1251 "../../test:test_support", 1252 "../rtp_rtcp:rtp_rtcp_format", 1253 "//testing/gtest", 1254 ] 1255 absl_deps = [ 1256 "//third_party/abseil-cpp/absl/strings", 1257 "//third_party/abseil-cpp/absl/types:optional", 1258 ] 1259 defines = audio_coding_defines 1260 1261 if (rtc_enable_protobuf) { 1262 defines += [ "WEBRTC_NETEQ_UNITTEST_BITEXACT" ] 1263 deps += [ ":neteq_unittest_proto" ] 1264 } 1265} 1266 1267if (rtc_include_tests) { 1268 audio_coding_deps = [ 1269 ":audio_encoder_cng", 1270 ":g711", 1271 ":g722", 1272 ":pcm16b", 1273 "../../common_audio", 1274 "../../system_wrappers", 1275 ] 1276 if (rtc_include_ilbc) { 1277 audio_coding_deps += [ ":ilbc" ] 1278 } 1279 if (rtc_include_opus) { 1280 audio_coding_deps += [ ":webrtc_opus" ] 1281 } 1282 if (current_cpu == "arm") { 1283 audio_coding_deps += [ ":isac_fix" ] 1284 } else { 1285 audio_coding_deps += [ ":isac" ] 1286 } 1287 if (!build_with_mozilla && !build_with_chromium) { 1288 audio_coding_deps += [ ":red" ] 1289 } 1290 1291 rtc_source_set("mocks") { 1292 testonly = true 1293 sources = [ 1294 "audio_network_adaptor/mock/mock_audio_network_adaptor.h", 1295 "audio_network_adaptor/mock/mock_controller.h", 1296 "audio_network_adaptor/mock/mock_controller_manager.h", 1297 "audio_network_adaptor/mock/mock_debug_dump_writer.h", 1298 ] 1299 deps = [ 1300 ":audio_network_adaptor", 1301 "../../test:test_support", 1302 ] 1303 } 1304 1305 group("audio_coding_tests") { 1306 visibility += webrtc_default_visibility 1307 testonly = true 1308 public_deps = [ 1309 ":acm_receive_test", 1310 ":acm_send_test", 1311 ":audio_codec_speed_tests", 1312 ":audio_decoder_unittests", 1313 ":audio_decoder_unittests", 1314 ":g711_test", 1315 ":g722_test", 1316 ":ilbc_test", 1317 ":isac_api_test", 1318 ":isac_fix_test", 1319 ":isac_switch_samprate_test", 1320 ":isac_test", 1321 ":neteq_ilbc_quality_test", 1322 ":neteq_isac_quality_test", 1323 ":neteq_opus_quality_test", 1324 ":neteq_pcm16b_quality_test", 1325 ":neteq_pcmu_quality_test", 1326 ":neteq_speed_test", 1327 ":rtp_analyze", 1328 ":rtp_encode", 1329 ":rtp_jitter", 1330 ":rtpcat", 1331 ":webrtc_opus_fec_test", 1332 ] 1333 if (rtc_enable_protobuf) { 1334 public_deps += [ ":neteq_rtpplay" ] 1335 } 1336 } 1337 1338 rtc_library("audio_coding_modules_tests") { 1339 testonly = true 1340 visibility += webrtc_default_visibility 1341 1342 sources = [ 1343 "test/Channel.cc", 1344 "test/Channel.h", 1345 "test/EncodeDecodeTest.cc", 1346 "test/EncodeDecodeTest.h", 1347 "test/PacketLossTest.cc", 1348 "test/PacketLossTest.h", 1349 "test/RTPFile.cc", 1350 "test/RTPFile.h", 1351 "test/TestAllCodecs.cc", 1352 "test/TestAllCodecs.h", 1353 "test/TestRedFec.cc", 1354 "test/TestRedFec.h", 1355 "test/TestVADDTX.cc", 1356 "test/TestVADDTX.h", 1357 "test/Tester.cc", 1358 "test/TwoWayCommunication.cc", 1359 "test/TwoWayCommunication.h", 1360 "test/iSACTest.cc", 1361 "test/iSACTest.h", 1362 "test/target_delay_unittest.cc", 1363 ] 1364 deps = [ 1365 ":audio_coding", 1366 ":audio_coding_module_typedefs", 1367 ":audio_coding_modules_tests_shared", 1368 ":audio_encoder_cng", 1369 ":pcm16b_c", 1370 ":red", 1371 ":webrtc_opus_wrapper", 1372 "..:module_api", 1373 "../../api:rtp_headers", 1374 "../../api/audio:audio_frame_api", 1375 "../../api/audio_codecs:audio_codecs_api", 1376 "../../api/audio_codecs:builtin_audio_decoder_factory", 1377 "../../api/audio_codecs:builtin_audio_encoder_factory", 1378 "../../api/audio_codecs/L16:audio_decoder_L16", 1379 "../../api/audio_codecs/L16:audio_encoder_L16", 1380 "../../api/audio_codecs/g711:audio_decoder_g711", 1381 "../../api/audio_codecs/g711:audio_encoder_g711", 1382 "../../api/audio_codecs/g722:audio_decoder_g722", 1383 "../../api/audio_codecs/g722:audio_encoder_g722", 1384 "../../api/audio_codecs/ilbc:audio_decoder_ilbc", 1385 "../../api/audio_codecs/ilbc:audio_encoder_ilbc", 1386 "../../api/audio_codecs/isac:audio_decoder_isac_float", 1387 "../../api/audio_codecs/isac:audio_encoder_isac_float", 1388 "../../api/audio_codecs/opus:audio_decoder_opus", 1389 "../../api/audio_codecs/opus:audio_encoder_opus", 1390 "../../common_audio", 1391 "../../rtc_base:checks", 1392 "../../rtc_base:rtc_base_approved", 1393 "../../rtc_base/synchronization:mutex", 1394 "../../rtc_base/synchronization:rw_lock_wrapper", 1395 "../../system_wrappers", 1396 "../../test:fileutils", 1397 "../../test:test_support", 1398 ] 1399 absl_deps = [ 1400 "//third_party/abseil-cpp/absl/strings", 1401 "//third_party/abseil-cpp/absl/types:optional", 1402 ] 1403 defines = audio_coding_defines 1404 } 1405 1406 rtc_library("audio_coding_perf_tests") { 1407 testonly = true 1408 visibility += webrtc_default_visibility 1409 1410 sources = [ 1411 "codecs/opus/opus_complexity_unittest.cc", 1412 "neteq/test/neteq_performance_unittest.cc", 1413 ] 1414 deps = [ 1415 ":neteq_test_support", 1416 ":neteq_test_tools", 1417 "../../api/audio_codecs/opus:audio_encoder_opus", 1418 "../../rtc_base:rtc_base_approved", 1419 "../../system_wrappers", 1420 "../../system_wrappers:field_trial", 1421 "../../test:fileutils", 1422 "../../test:perf_test", 1423 "../../test:test_support", 1424 ] 1425 } 1426 1427 rtc_library("acm_receive_test") { 1428 testonly = true 1429 sources = [ 1430 "acm2/acm_receive_test.cc", 1431 "acm2/acm_receive_test.h", 1432 ] 1433 1434 defines = audio_coding_defines 1435 1436 deps = audio_coding_deps + [ 1437 "../../api:scoped_refptr", 1438 "..:module_api", 1439 ":audio_coding", 1440 "../../api/audio_codecs:audio_codecs_api", 1441 "../../api/audio_codecs:builtin_audio_decoder_factory", 1442 ":neteq_tools", 1443 "../../rtc_base:rtc_base_approved", 1444 "../../test:test_support", 1445 "//testing/gtest", 1446 ] 1447 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 1448 } 1449 1450 rtc_library("acm_send_test") { 1451 testonly = true 1452 sources = [ 1453 "acm2/acm_send_test.cc", 1454 "acm2/acm_send_test.h", 1455 ] 1456 1457 defines = audio_coding_defines 1458 1459 deps = audio_coding_deps + [ 1460 "//third_party/abseil-cpp/absl/strings", 1461 "../../api/audio:audio_frame_api", 1462 "../../rtc_base:checks", 1463 ":audio_coding", 1464 ":neteq_tools", 1465 "../../api/audio_codecs:builtin_audio_decoder_factory", 1466 "../../api/audio_codecs:builtin_audio_encoder_factory", 1467 "../../api/audio_codecs:audio_codecs_api", 1468 "../../rtc_base:rtc_base_approved", 1469 "../../test:test_support", 1470 "//testing/gtest", 1471 ] 1472 } 1473 1474 audio_decoder_unittests_resources = 1475 [ "../../resources/audio_coding/testfile32kHz.pcm" ] 1476 1477 if (is_ios) { 1478 bundle_data("audio_decoder_unittests_bundle_data") { 1479 testonly = true 1480 sources = audio_decoder_unittests_resources 1481 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 1482 } 1483 } 1484 1485 rtc_test("audio_decoder_unittests") { 1486 testonly = true 1487 sources = [ "neteq/audio_decoder_unittest.cc" ] 1488 1489 defines = neteq_defines 1490 1491 deps = [ 1492 ":ilbc", 1493 ":isac", 1494 ":isac_fix", 1495 ":neteq", 1496 ":neteq_tools", 1497 "../../test:fileutils", 1498 "../../api/audio_codecs:audio_codecs_api", 1499 "../../api/audio_codecs/opus:audio_encoder_opus", 1500 "../../common_audio", 1501 "../../rtc_base/system:arch", 1502 "../../test:test_main", 1503 "//testing/gtest", 1504 "../../test:test_support", 1505 ] + audio_coding_deps 1506 1507 data = audio_decoder_unittests_resources 1508 1509 if (is_android) { 1510 deps += [ "//testing/android/native_test:native_test_native_code" ] 1511 shard_timeout = 900 1512 } 1513 if (is_ios) { 1514 deps += [ ":audio_decoder_unittests_bundle_data" ] 1515 } 1516 } 1517 1518 if (rtc_enable_protobuf) { 1519 rtc_library("neteq_test_factory") { 1520 testonly = true 1521 visibility += webrtc_default_visibility 1522 defines = audio_codec_defines 1523 deps = [ 1524 "../../rtc_base:checks", 1525 "../../test:fileutils", 1526 ] 1527 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 1528 sources = [ 1529 "neteq/tools/neteq_test_factory.cc", 1530 "neteq/tools/neteq_test_factory.h", 1531 ] 1532 1533 deps += [ 1534 ":neteq", 1535 ":neteq_test_tools", 1536 "../../api/audio_codecs:builtin_audio_decoder_factory", 1537 "../../api/neteq:neteq_api", 1538 "../../rtc_base:rtc_base_approved", 1539 "../../test:audio_codec_mocks", 1540 "../../test:field_trial", 1541 "../../test:test_support", 1542 ] 1543 } 1544 1545 rtc_executable("neteq_rtpplay") { 1546 testonly = true 1547 visibility += [ "*" ] 1548 defines = [] 1549 deps = [ 1550 ":neteq_test_factory", 1551 ":neteq_test_tools", 1552 "../../rtc_base:rtc_base_approved", 1553 "../../rtc_base:stringutils", 1554 "../../system_wrappers:field_trial", 1555 "../../test:field_trial", 1556 "//third_party/abseil-cpp/absl/flags:flag", 1557 "//third_party/abseil-cpp/absl/flags:parse", 1558 "//third_party/abseil-cpp/absl/strings", 1559 "//third_party/abseil-cpp/absl/types:optional", 1560 ] 1561 sources = [ "neteq/tools/neteq_rtpplay.cc" ] 1562 } 1563 } 1564 1565 audio_codec_speed_tests_resources = [ 1566 "//resources/audio_coding/music_stereo_48kHz.pcm", 1567 "//resources/audio_coding/speech_mono_16kHz.pcm", 1568 "//resources/audio_coding/speech_mono_32_48kHz.pcm", 1569 ] 1570 1571 if (is_ios) { 1572 bundle_data("audio_codec_speed_tests_data") { 1573 testonly = true 1574 sources = audio_codec_speed_tests_resources 1575 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 1576 } 1577 } 1578 1579 rtc_test("audio_codec_speed_tests") { 1580 testonly = true 1581 defines = [] 1582 deps = [ "../../test:fileutils" ] 1583 sources = [ 1584 "codecs/isac/fix/test/isac_speed_test.cc", 1585 "codecs/opus/opus_speed_test.cc", 1586 "codecs/tools/audio_codec_speed_test.cc", 1587 "codecs/tools/audio_codec_speed_test.h", 1588 ] 1589 1590 data = audio_codec_speed_tests_resources 1591 1592 if (is_android) { 1593 deps += [ "//testing/android/native_test:native_test_native_code" ] 1594 shard_timeout = 900 1595 } 1596 1597 if (is_ios) { 1598 deps += [ ":audio_codec_speed_tests_data" ] 1599 } 1600 1601 deps += [ 1602 ":isac_fix", 1603 ":webrtc_opus", 1604 "../../rtc_base:rtc_base_approved", 1605 "../../test:test_main", 1606 "../../test:test_support", 1607 "../audio_processing", 1608 "//testing/gtest", 1609 ] 1610 } 1611 1612 rtc_library("neteq_test_support") { 1613 testonly = true 1614 sources = [ 1615 "neteq/tools/neteq_performance_test.cc", 1616 "neteq/tools/neteq_performance_test.h", 1617 ] 1618 1619 deps = [ 1620 ":default_neteq_factory", 1621 ":neteq", 1622 ":neteq_test_tools", 1623 ":pcm16b", 1624 "../../api/audio:audio_frame_api", 1625 "../../api/audio_codecs:audio_codecs_api", 1626 "../../api/audio_codecs:builtin_audio_decoder_factory", 1627 "../../api/neteq:neteq_api", 1628 "../../rtc_base:checks", 1629 "../../rtc_base:rtc_base_approved", 1630 "../../system_wrappers", 1631 "../../test:fileutils", 1632 "../../test:test_support", 1633 "//testing/gtest", 1634 ] 1635 } 1636 1637 rtc_library("neteq_quality_test_support") { 1638 testonly = true 1639 sources = [ 1640 "neteq/tools/neteq_quality_test.cc", 1641 "neteq/tools/neteq_quality_test.h", 1642 ] 1643 1644 deps = [ 1645 ":default_neteq_factory", 1646 ":neteq", 1647 ":neteq_test_tools", 1648 "../../api/audio_codecs:builtin_audio_decoder_factory", 1649 "../../api/neteq:neteq_api", 1650 "../../rtc_base:checks", 1651 "../../system_wrappers", 1652 "../../test:fileutils", 1653 "../../test:test_support", 1654 "//testing/gtest", 1655 ] 1656 absl_deps = [ "//third_party/abseil-cpp/absl/flags:flag" ] 1657 } 1658 1659 rtc_executable("rtp_encode") { 1660 testonly = true 1661 1662 deps = audio_coding_deps + [ 1663 "//third_party/abseil-cpp/absl/flags:flag", 1664 "//third_party/abseil-cpp/absl/flags:parse", 1665 ":audio_coding", 1666 ":audio_encoder_cng", 1667 ":neteq_input_audio_tools", 1668 "../../api/audio:audio_frame_api", 1669 "../../api/audio_codecs/g711:audio_encoder_g711", 1670 "../../api/audio_codecs/L16:audio_encoder_L16", 1671 "../../api/audio_codecs/g722:audio_encoder_g722", 1672 "../../api/audio_codecs/ilbc:audio_encoder_ilbc", 1673 "../../api/audio_codecs/isac:audio_encoder_isac", 1674 "../../api/audio_codecs/opus:audio_encoder_opus", 1675 "../../rtc_base:safe_conversions", 1676 "//third_party/abseil-cpp/absl/memory", 1677 ] 1678 1679 sources = [ "neteq/tools/rtp_encode.cc" ] 1680 1681 defines = audio_coding_defines 1682 } 1683 1684 rtc_executable("rtp_jitter") { 1685 testonly = true 1686 1687 deps = audio_coding_deps + [ 1688 "../rtp_rtcp:rtp_rtcp_format", 1689 "../../api:array_view", 1690 "../../rtc_base:rtc_base_approved", 1691 ] 1692 1693 sources = [ "neteq/tools/rtp_jitter.cc" ] 1694 1695 defines = audio_coding_defines 1696 } 1697 1698 rtc_executable("rtpcat") { 1699 testonly = true 1700 1701 sources = [ "neteq/tools/rtpcat.cc" ] 1702 1703 deps = [ 1704 "../../rtc_base:checks", 1705 "../../rtc_base:rtc_base_approved", 1706 "../../test:rtp_test_utils", 1707 "//testing/gtest", 1708 ] 1709 } 1710 1711 rtc_executable("rtp_analyze") { 1712 testonly = true 1713 1714 sources = [ "neteq/tools/rtp_analyze.cc" ] 1715 1716 deps = [ 1717 ":neteq", 1718 ":neteq_test_tools", 1719 ":pcm16b", 1720 "//testing/gtest", 1721 "//third_party/abseil-cpp/absl/flags:flag", 1722 "//third_party/abseil-cpp/absl/flags:parse", 1723 ] 1724 } 1725 1726 rtc_executable("neteq_opus_quality_test") { 1727 testonly = true 1728 1729 sources = [ "neteq/test/neteq_opus_quality_test.cc" ] 1730 1731 deps = [ 1732 ":neteq", 1733 ":neteq_quality_test_support", 1734 ":neteq_tools", 1735 ":webrtc_opus", 1736 "../../rtc_base:rtc_base_approved", 1737 "../../test:test_main", 1738 "//testing/gtest", 1739 "//third_party/abseil-cpp/absl/flags:flag", 1740 ] 1741 } 1742 1743 rtc_executable("neteq_speed_test") { 1744 testonly = true 1745 1746 sources = [ "neteq/test/neteq_speed_test.cc" ] 1747 1748 deps = [ 1749 ":neteq", 1750 ":neteq_test_support", 1751 "../../rtc_base:checks", 1752 "../../test:test_support", 1753 "//third_party/abseil-cpp/absl/flags:flag", 1754 "//third_party/abseil-cpp/absl/flags:parse", 1755 ] 1756 } 1757 1758 rtc_executable("neteq_ilbc_quality_test") { 1759 testonly = true 1760 1761 sources = [ "neteq/test/neteq_ilbc_quality_test.cc" ] 1762 1763 deps = [ 1764 ":ilbc", 1765 ":neteq", 1766 ":neteq_quality_test_support", 1767 ":neteq_tools", 1768 "../../rtc_base:checks", 1769 "../../rtc_base:rtc_base_approved", 1770 "../../test:fileutils", 1771 "../../test:test_main", 1772 "//testing/gtest", 1773 "//third_party/abseil-cpp/absl/flags:flag", 1774 ] 1775 } 1776 1777 rtc_executable("neteq_isac_quality_test") { 1778 testonly = true 1779 1780 sources = [ "neteq/test/neteq_isac_quality_test.cc" ] 1781 1782 deps = [ 1783 ":isac_fix", 1784 ":neteq", 1785 ":neteq_quality_test_support", 1786 "../../rtc_base:rtc_base_approved", 1787 "../../test:test_main", 1788 "//testing/gtest", 1789 "//third_party/abseil-cpp/absl/flags:flag", 1790 ] 1791 } 1792 1793 rtc_executable("neteq_pcmu_quality_test") { 1794 testonly = true 1795 1796 sources = [ "neteq/test/neteq_pcmu_quality_test.cc" ] 1797 1798 deps = [ 1799 ":g711", 1800 ":neteq", 1801 ":neteq_quality_test_support", 1802 "../../rtc_base:checks", 1803 "../../rtc_base:rtc_base_approved", 1804 "../../test:fileutils", 1805 "../../test:test_main", 1806 "//testing/gtest", 1807 "//third_party/abseil-cpp/absl/flags:flag", 1808 ] 1809 } 1810 1811 rtc_executable("neteq_pcm16b_quality_test") { 1812 testonly = true 1813 1814 sources = [ "neteq/test/neteq_pcm16b_quality_test.cc" ] 1815 1816 deps = [ 1817 ":neteq", 1818 ":neteq_quality_test_support", 1819 ":pcm16b", 1820 "../../rtc_base:checks", 1821 "../../rtc_base:rtc_base_approved", 1822 "../../test:fileutils", 1823 "../../test:test_main", 1824 "//testing/gtest", 1825 "//third_party/abseil-cpp/absl/flags:flag", 1826 ] 1827 } 1828 1829 rtc_executable("isac_fix_test") { 1830 testonly = true 1831 1832 sources = [ "codecs/isac/fix/test/kenny.cc" ] 1833 1834 deps = [ 1835 ":isac_fix", 1836 "../../test:perf_test", 1837 "../../test:test_support", 1838 ] 1839 1840 data = [ "../../resources/speech_and_misc_wb.pcm" ] 1841 } 1842 1843 rtc_library("isac_test_util") { 1844 testonly = true 1845 sources = [ 1846 "codecs/isac/main/util/utility.c", 1847 "codecs/isac/main/util/utility.h", 1848 ] 1849 } 1850 1851 rtc_executable("isac_test") { 1852 testonly = true 1853 1854 sources = [ "codecs/isac/main/test/simpleKenny.c" ] 1855 1856 deps = [ 1857 ":isac", 1858 ":isac_test_util", 1859 "../../rtc_base:rtc_base_approved", 1860 ] 1861 } 1862 1863 rtc_executable("g711_test") { 1864 testonly = true 1865 1866 sources = [ "codecs/g711/test/testG711.cc" ] 1867 1868 deps = [ ":g711" ] 1869 } 1870 1871 rtc_executable("g722_test") { 1872 testonly = true 1873 1874 sources = [ "codecs/g722/test/testG722.cc" ] 1875 1876 deps = [ ":g722" ] 1877 } 1878 1879 rtc_executable("isac_api_test") { 1880 testonly = true 1881 1882 sources = [ "codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc" ] 1883 1884 deps = [ 1885 ":isac", 1886 ":isac_test_util", 1887 "../../rtc_base:rtc_base_approved", 1888 ] 1889 } 1890 1891 rtc_executable("isac_switch_samprate_test") { 1892 testonly = true 1893 1894 sources = [ "codecs/isac/main/test/SwitchingSampRate/SwitchingSampRate.cc" ] 1895 1896 deps = [ 1897 ":isac", 1898 ":isac_test_util", 1899 "../../common_audio", 1900 "../../common_audio:common_audio_c", 1901 ] 1902 } 1903 1904 rtc_executable("ilbc_test") { 1905 testonly = true 1906 1907 sources = [ "codecs/ilbc/test/iLBC_test.c" ] 1908 1909 deps = [ ":ilbc" ] 1910 } 1911 1912 rtc_executable("webrtc_opus_fec_test") { 1913 testonly = true 1914 1915 sources = [ "codecs/opus/opus_fec_test.cc" ] 1916 1917 deps = [ 1918 ":webrtc_opus", 1919 "../../common_audio", 1920 "../../rtc_base:rtc_base_approved", 1921 "../../test:fileutils", 1922 "../../test:test_main", 1923 "../../test:test_support", 1924 "//testing/gtest", 1925 ] 1926 } 1927 1928 rtc_library("audio_coding_unittests") { 1929 testonly = true 1930 visibility += webrtc_default_visibility 1931 1932 sources = [ 1933 "acm2/acm_receiver_unittest.cc", 1934 "acm2/acm_remixing_unittest.cc", 1935 "acm2/audio_coding_module_unittest.cc", 1936 "acm2/call_statistics_unittest.cc", 1937 "audio_network_adaptor/audio_network_adaptor_impl_unittest.cc", 1938 "audio_network_adaptor/bitrate_controller_unittest.cc", 1939 "audio_network_adaptor/channel_controller_unittest.cc", 1940 "audio_network_adaptor/controller_manager_unittest.cc", 1941 "audio_network_adaptor/dtx_controller_unittest.cc", 1942 "audio_network_adaptor/event_log_writer_unittest.cc", 1943 "audio_network_adaptor/fec_controller_plr_based_unittest.cc", 1944 "audio_network_adaptor/frame_length_controller_unittest.cc", 1945 "audio_network_adaptor/frame_length_controller_v2_unittest.cc", 1946 "audio_network_adaptor/util/threshold_curve_unittest.cc", 1947 "codecs/builtin_audio_decoder_factory_unittest.cc", 1948 "codecs/builtin_audio_encoder_factory_unittest.cc", 1949 "codecs/cng/audio_encoder_cng_unittest.cc", 1950 "codecs/cng/cng_unittest.cc", 1951 "codecs/ilbc/ilbc_unittest.cc", 1952 "codecs/isac/fix/source/filterbanks_unittest.cc", 1953 "codecs/isac/fix/source/filters_unittest.cc", 1954 "codecs/isac/fix/source/lpc_masking_model_unittest.cc", 1955 "codecs/isac/fix/source/transform_unittest.cc", 1956 "codecs/isac/isac_webrtc_api_test.cc", 1957 "codecs/isac/main/source/audio_encoder_isac_unittest.cc", 1958 "codecs/isac/main/source/isac_unittest.cc", 1959 "codecs/legacy_encoded_audio_frame_unittest.cc", 1960 "codecs/opus/audio_decoder_multi_channel_opus_unittest.cc", 1961 "codecs/opus/audio_encoder_multi_channel_opus_unittest.cc", 1962 "codecs/opus/audio_encoder_opus_unittest.cc", 1963 "codecs/opus/opus_bandwidth_unittest.cc", 1964 "codecs/opus/opus_unittest.cc", 1965 "codecs/red/audio_encoder_copy_red_unittest.cc", 1966 "neteq/audio_multi_vector_unittest.cc", 1967 "neteq/audio_vector_unittest.cc", 1968 "neteq/background_noise_unittest.cc", 1969 "neteq/buffer_level_filter_unittest.cc", 1970 "neteq/comfort_noise_unittest.cc", 1971 "neteq/decision_logic_unittest.cc", 1972 "neteq/decoder_database_unittest.cc", 1973 "neteq/delay_manager_unittest.cc", 1974 "neteq/dsp_helper_unittest.cc", 1975 "neteq/dtmf_buffer_unittest.cc", 1976 "neteq/dtmf_tone_generator_unittest.cc", 1977 "neteq/expand_unittest.cc", 1978 "neteq/histogram_unittest.cc", 1979 "neteq/merge_unittest.cc", 1980 "neteq/mock/mock_decoder_database.h", 1981 "neteq/mock/mock_dtmf_buffer.h", 1982 "neteq/mock/mock_dtmf_tone_generator.h", 1983 "neteq/mock/mock_expand.h", 1984 "neteq/mock/mock_histogram.h", 1985 "neteq/mock/mock_neteq_controller.h", 1986 "neteq/mock/mock_packet_buffer.h", 1987 "neteq/mock/mock_red_payload_splitter.h", 1988 "neteq/mock/mock_statistics_calculator.h", 1989 "neteq/nack_tracker_unittest.cc", 1990 "neteq/neteq_decoder_plc_unittest.cc", 1991 "neteq/neteq_impl_unittest.cc", 1992 "neteq/neteq_network_stats_unittest.cc", 1993 "neteq/neteq_stereo_unittest.cc", 1994 "neteq/neteq_unittest.cc", 1995 "neteq/normal_unittest.cc", 1996 "neteq/packet_buffer_unittest.cc", 1997 "neteq/post_decode_vad_unittest.cc", 1998 "neteq/random_vector_unittest.cc", 1999 "neteq/red_payload_splitter_unittest.cc", 2000 "neteq/statistics_calculator_unittest.cc", 2001 "neteq/sync_buffer_unittest.cc", 2002 "neteq/time_stretch_unittest.cc", 2003 "neteq/timestamp_scaler_unittest.cc", 2004 "neteq/tools/input_audio_file_unittest.cc", 2005 "neteq/tools/packet_unittest.cc", 2006 ] 2007 2008 deps = [ 2009 ":acm_receive_test", 2010 ":acm_send_test", 2011 ":audio_coding", 2012 ":audio_coding_module_typedefs", 2013 ":audio_coding_modules_tests_shared", 2014 ":audio_coding_opus_common", 2015 ":audio_encoder_cng", 2016 ":audio_network_adaptor", 2017 ":default_neteq_factory", 2018 ":g711", 2019 ":ilbc", 2020 ":isac", 2021 ":isac_c", 2022 ":isac_common", 2023 ":isac_fix", 2024 ":legacy_encoded_audio_frame", 2025 ":mocks", 2026 ":neteq", 2027 ":neteq_test_support", 2028 ":neteq_test_tools", 2029 ":pcm16b", 2030 ":red", 2031 ":webrtc_cng", 2032 ":webrtc_opus", 2033 "..:module_api", 2034 "..:module_api_public", 2035 "../../api:array_view", 2036 "../../api/audio:audio_frame_api", 2037 "../../api/audio_codecs:audio_codecs_api", 2038 "../../api/audio_codecs:builtin_audio_decoder_factory", 2039 "../../api/audio_codecs:builtin_audio_encoder_factory", 2040 "../../api/audio_codecs/isac:audio_decoder_isac_fix", 2041 "../../api/audio_codecs/isac:audio_decoder_isac_float", 2042 "../../api/audio_codecs/isac:audio_encoder_isac_fix", 2043 "../../api/audio_codecs/isac:audio_encoder_isac_float", 2044 "../../api/audio_codecs/opus:audio_decoder_multiopus", 2045 "../../api/audio_codecs/opus:audio_decoder_opus", 2046 "../../api/audio_codecs/opus:audio_encoder_multiopus", 2047 "../../api/audio_codecs/opus:audio_encoder_opus", 2048 "../../api/neteq:default_neteq_controller_factory", 2049 "../../api/neteq:neteq_api", 2050 "../../api/neteq:neteq_controller_api", 2051 "../../api/neteq:tick_timer", 2052 "../../api/neteq:tick_timer_unittest", 2053 "../../api/rtc_event_log", 2054 "../../common_audio", 2055 "../../common_audio:common_audio_c", 2056 "../../common_audio:mock_common_audio", 2057 "../../logging:mocks", 2058 "../../logging:rtc_event_audio", 2059 "../../modules/rtp_rtcp:rtp_rtcp_format", 2060 "../../rtc_base", 2061 "../../rtc_base:checks", 2062 "../../rtc_base:ignore_wundef", 2063 "../../rtc_base:rtc_base_approved", 2064 "../../rtc_base:rtc_base_tests_utils", 2065 "../../rtc_base:sanitizer", 2066 "../../rtc_base:timeutils", 2067 "../../rtc_base/synchronization:mutex", 2068 "../../rtc_base/system:arch", 2069 "../../system_wrappers", 2070 "../../system_wrappers:cpu_features_api", 2071 "../../test:audio_codec_mocks", 2072 "../../test:field_trial", 2073 "../../test:fileutils", 2074 "../../test:rtc_expect_death", 2075 "../../test:rtp_test_utils", 2076 "../../test:test_common", 2077 "../../test:test_support", 2078 "codecs/opus/test", 2079 "codecs/opus/test:test_unittest", 2080 "//testing/gtest", 2081 ] 2082 absl_deps = [ 2083 "//third_party/abseil-cpp/absl/flags:flag", 2084 "//third_party/abseil-cpp/absl/memory", 2085 "//third_party/abseil-cpp/absl/strings", 2086 "//third_party/abseil-cpp/absl/types:optional", 2087 ] 2088 2089 defines = audio_coding_defines 2090 2091 if (rtc_enable_protobuf) { 2092 defines += [ "WEBRTC_NETEQ_UNITTEST_BITEXACT" ] 2093 deps += [ 2094 ":ana_config_proto", 2095 ":neteq_unittest_proto", 2096 ] 2097 } 2098 } 2099} 2100 2101# For backwards compatibility only! Use 2102# webrtc/api/audio_codecs:audio_codecs_api instead. 2103# TODO(kwiberg): Remove this. 2104rtc_source_set("audio_decoder_interface") { 2105 visibility += [ "*" ] 2106 sources = [ "codecs/audio_decoder.h" ] 2107 deps = [ "../../api/audio_codecs:audio_codecs_api" ] 2108} 2109 2110# For backwards compatibility only! Use 2111# webrtc/api/audio_codecs:audio_codecs_api instead. 2112# TODO(ossu): Remove this. 2113rtc_source_set("audio_encoder_interface") { 2114 visibility += [ "*" ] 2115 sources = [ "codecs/audio_encoder.h" ] 2116 deps = [ "../../api/audio_codecs:audio_codecs_api" ] 2117} 2118