BUILD.gn (48361B)
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 9 import("../../webrtc.gni") 10 import("audio_coding.gni") 11 if (rtc_enable_protobuf) { 12 import("//third_party/protobuf/proto_library.gni") 13 } 14 15 visibility = [ ":*" ] 16 17 rtc_source_set("audio_coding_module_typedefs") { 18 visibility += [ "*" ] 19 sources = [ "include/audio_coding_module_typedefs.h" ] 20 } 21 22 rtc_library("audio_coding") { 23 visibility += [ "*" ] 24 sources = [ 25 "acm2/acm_remixing.cc", 26 "acm2/acm_remixing.h", 27 "acm2/acm_resampler.cc", 28 "acm2/acm_resampler.h", 29 "acm2/audio_coding_module.cc", 30 "acm2/call_statistics.cc", 31 "acm2/call_statistics.h", 32 "include/audio_coding_module.h", 33 ] 34 35 defines = [] 36 37 deps = [ 38 ":audio_coding_module_typedefs", 39 ":neteq", 40 "..:module_api", 41 "..:module_api_public", 42 "../../api:array_view", 43 "../../api:function_view", 44 "../../api/audio:audio_frame_api", 45 "../../api/audio_codecs:audio_codecs_api", 46 "../../api/environment", 47 "../../api/neteq:default_neteq_factory", 48 "../../api/neteq:neteq_api", 49 "../../api/units:timestamp", 50 "../../common_audio", 51 "../../common_audio:common_audio_c", 52 "../../rtc_base:buffer", 53 "../../rtc_base:checks", 54 "../../rtc_base:logging", 55 "../../rtc_base:macromagic", 56 "../../rtc_base:safe_conversions", 57 "../../rtc_base/synchronization:mutex", 58 "../../system_wrappers", 59 "../../system_wrappers:metrics", 60 "//third_party/abseil-cpp/absl/strings", 61 "//third_party/abseil-cpp/absl/strings:string_view", 62 ] 63 } 64 65 rtc_library("legacy_encoded_audio_frame") { 66 sources = [ 67 "codecs/legacy_encoded_audio_frame.cc", 68 "codecs/legacy_encoded_audio_frame.h", 69 ] 70 deps = [ 71 "../../api:array_view", 72 "../../api/audio_codecs:audio_codecs_api", 73 "../../rtc_base:buffer", 74 "../../rtc_base:checks", 75 ] 76 } 77 78 rtc_library("webrtc_cng") { 79 visibility += webrtc_default_visibility 80 sources = [ 81 "codecs/cng/webrtc_cng.cc", 82 "codecs/cng/webrtc_cng.h", 83 ] 84 85 deps = [ 86 "../../api:array_view", 87 "../../common_audio:common_audio_c", 88 "../../rtc_base:buffer", 89 "../../rtc_base:checks", 90 "../../rtc_base:safe_conversions", 91 ] 92 } 93 94 rtc_library("audio_encoder_cng") { 95 visibility += [ "*" ] 96 sources = [ 97 "codecs/cng/audio_encoder_cng.cc", 98 "codecs/cng/audio_encoder_cng.h", 99 ] 100 101 deps = [ 102 ":webrtc_cng", 103 "../../api:array_view", 104 "../../api/audio_codecs:audio_codecs_api", 105 "../../api/units:time_delta", 106 "../../common_audio", 107 "../../rtc_base:buffer", 108 "../../rtc_base:checks", 109 ] 110 } 111 112 rtc_library("red") { 113 visibility += [ "*" ] 114 sources = [ 115 "codecs/red/audio_encoder_copy_red.cc", 116 "codecs/red/audio_encoder_copy_red.h", 117 ] 118 119 deps = [ 120 "../../api:array_view", 121 "../../api:bitrate_allocation", 122 "../../api:field_trials_view", 123 "../../api/audio_codecs:audio_codecs_api", 124 "../../api/units:time_delta", 125 "../../common_audio", 126 "../../rtc_base:buffer", 127 "../../rtc_base:byte_order", 128 "../../rtc_base:checks", 129 "../../rtc_base:logging", 130 "//third_party/abseil-cpp/absl/strings:string_view", 131 ] 132 } 133 134 rtc_library("g711") { 135 visibility += [ "*" ] 136 poisonous = [ "audio_codecs" ] 137 sources = [ 138 "codecs/g711/audio_decoder_pcm.cc", 139 "codecs/g711/audio_decoder_pcm.h", 140 "codecs/g711/audio_encoder_pcm.cc", 141 "codecs/g711/audio_encoder_pcm.h", 142 ] 143 144 deps = [ 145 ":legacy_encoded_audio_frame", 146 "../../api:array_view", 147 "../../api/audio_codecs:audio_codecs_api", 148 "../../api/units:time_delta", 149 "../../rtc_base:buffer", 150 "../../rtc_base:checks", 151 ] 152 public_deps += [ ":g711_c" ] # no-presubmit-check TODO(webrtc:8603) 153 } 154 155 rtc_library("g711_c") { 156 poisonous = [ "audio_codecs" ] 157 sources = [ 158 "codecs/g711/g711_interface.c", 159 "codecs/g711/g711_interface.h", 160 ] 161 deps = [ "../third_party/g711:g711_3p" ] 162 } 163 164 rtc_library("g722") { 165 visibility += [ "*" ] 166 poisonous = [ "audio_codecs" ] 167 sources = [ 168 "codecs/g722/audio_decoder_g722.cc", 169 "codecs/g722/audio_decoder_g722.h", 170 "codecs/g722/audio_encoder_g722.cc", 171 "codecs/g722/audio_encoder_g722.h", 172 ] 173 174 deps = [ 175 ":legacy_encoded_audio_frame", 176 "../../api:array_view", 177 "../../api/audio_codecs:audio_codecs_api", 178 "../../api/audio_codecs/g722:audio_encoder_g722_config", 179 "../../api/units:time_delta", 180 "../../rtc_base:buffer", 181 "../../rtc_base:checks", 182 "../../rtc_base:safe_conversions", 183 ] 184 public_deps += [ ":g722_c" ] # no-presubmit-check TODO(webrtc:8603) 185 } 186 187 rtc_library("g722_c") { 188 poisonous = [ "audio_codecs" ] 189 sources = [ 190 "codecs/g722/g722_interface.c", 191 "codecs/g722/g722_interface.h", 192 ] 193 deps = [ "../third_party/g722:g722_3p" ] 194 } 195 196 rtc_library("isac_vad") { 197 visibility += [ "../audio_processing/vad:*" ] 198 sources = [ 199 "codecs/isac/main/source/filter_functions.c", 200 "codecs/isac/main/source/filter_functions.h", 201 "codecs/isac/main/source/isac_vad.c", 202 "codecs/isac/main/source/isac_vad.h", 203 "codecs/isac/main/source/os_specific_inline.h", 204 "codecs/isac/main/source/pitch_estimator.c", 205 "codecs/isac/main/source/pitch_estimator.h", 206 "codecs/isac/main/source/pitch_filter.c", 207 "codecs/isac/main/source/pitch_filter.h", 208 "codecs/isac/main/source/settings.h", 209 "codecs/isac/main/source/structs.h", 210 ] 211 deps = [ 212 ":isac_bwinfo", 213 "../../rtc_base:compile_assert_c", 214 "../../rtc_base/system:arch", 215 "../../rtc_base/system:ignore_warnings", 216 "../third_party/fft", 217 ] 218 } 219 220 rtc_source_set("isac_bwinfo") { 221 sources = [ "codecs/isac/bandwidth_info.h" ] 222 deps = [] 223 } 224 225 rtc_library("pcm16b") { 226 visibility += [ "*" ] 227 poisonous = [ "audio_codecs" ] 228 sources = [ 229 "codecs/pcm16b/audio_decoder_pcm16b.cc", 230 "codecs/pcm16b/audio_decoder_pcm16b.h", 231 "codecs/pcm16b/audio_encoder_pcm16b.cc", 232 "codecs/pcm16b/audio_encoder_pcm16b.h", 233 "codecs/pcm16b/pcm16b_common.cc", 234 "codecs/pcm16b/pcm16b_common.h", 235 ] 236 237 deps = [ 238 ":g711", 239 ":legacy_encoded_audio_frame", 240 "../../api:array_view", 241 "../../api/audio_codecs:audio_codecs_api", 242 "../../rtc_base:buffer", 243 "../../rtc_base:checks", 244 ] 245 public_deps += [ ":pcm16b_c" ] # no-presubmit-check TODO(webrtc:8603) 246 } 247 248 rtc_library("pcm16b_c") { 249 poisonous = [ "audio_codecs" ] 250 sources = [ 251 "codecs/pcm16b/pcm16b.c", 252 "codecs/pcm16b/pcm16b.h", 253 ] 254 } 255 256 rtc_library("audio_coding_opus_common") { 257 sources = [ 258 "codecs/opus/audio_coder_opus_common.cc", 259 "codecs/opus/audio_coder_opus_common.h", 260 ] 261 262 deps = [ 263 "../../api:array_view", 264 "../../api/audio_codecs:audio_codecs_api", 265 "../../rtc_base:buffer", 266 "../../rtc_base:checks", 267 "../../rtc_base:stringutils", 268 "//third_party/abseil-cpp/absl/strings:string_view", 269 ] 270 } 271 272 rtc_library("webrtc_opus") { 273 visibility += webrtc_default_visibility 274 poisonous = [ "audio_codecs" ] 275 sources = [ 276 "codecs/opus/audio_decoder_opus.cc", 277 "codecs/opus/audio_decoder_opus.h", 278 "codecs/opus/audio_encoder_opus.cc", 279 "codecs/opus/audio_encoder_opus.h", 280 ] 281 282 deps = [ 283 ":audio_coding_opus_common", 284 ":audio_network_adaptor", 285 "../../api:array_view", 286 "../../api:bitrate_allocation", 287 "../../api:field_trials_view", 288 "../../api/audio_codecs:audio_codecs_api", 289 "../../api/audio_codecs/opus:audio_encoder_opus_config", 290 "../../api/environment", 291 "../../api/units:time_delta", 292 "../../api/units:timestamp", 293 "../../common_audio", 294 "../../rtc_base:buffer", 295 "../../rtc_base:checks", 296 "../../rtc_base:logging", 297 "../../rtc_base:protobuf_utils", 298 "../../rtc_base:rtc_numerics", 299 "../../rtc_base:safe_conversions", 300 "../../rtc_base:safe_minmax", 301 "../../rtc_base:stringutils", 302 "//third_party/abseil-cpp/absl/memory", 303 "//third_party/abseil-cpp/absl/strings", 304 "//third_party/abseil-cpp/absl/strings:string_view", 305 "//third_party/opus", 306 ] 307 public_deps += # no-presubmit-check TODO(webrtc:8603) 308 [ ":webrtc_opus_wrapper" ] 309 310 defines = audio_codec_defines 311 } 312 313 rtc_library("webrtc_multiopus") { 314 visibility += webrtc_default_visibility 315 poisonous = [ "audio_codecs" ] 316 sources = [ 317 "codecs/opus/audio_decoder_multi_channel_opus_impl.cc", 318 "codecs/opus/audio_decoder_multi_channel_opus_impl.h", 319 "codecs/opus/audio_encoder_multi_channel_opus_impl.cc", 320 "codecs/opus/audio_encoder_multi_channel_opus_impl.h", 321 ] 322 323 deps = [ 324 ":audio_coding_opus_common", 325 "../../api:array_view", 326 "../../api/audio_codecs:audio_codecs_api", 327 "../../api/audio_codecs/opus:audio_decoder_opus_config", 328 "../../api/audio_codecs/opus:audio_encoder_opus_config", 329 "../../api/units:time_delta", 330 "../../rtc_base:buffer", 331 "../../rtc_base:checks", 332 "../../rtc_base:logging", 333 "../../rtc_base:safe_conversions", 334 "../../rtc_base:safe_minmax", 335 "../../rtc_base:stringutils", 336 "//third_party/abseil-cpp/absl/memory", 337 "//third_party/abseil-cpp/absl/strings", 338 ] 339 public_deps += # no-presubmit-check TODO(webrtc:8603) 340 [ ":webrtc_opus_wrapper" ] 341 342 defines = audio_codec_defines 343 } 344 345 rtc_library("webrtc_opus_wrapper") { 346 poisonous = [ "audio_codecs" ] 347 sources = [ 348 "codecs/opus/opus_inst.h", 349 "codecs/opus/opus_interface.cc", 350 "codecs/opus/opus_interface.h", 351 ] 352 353 defines = audio_coding_defines 354 355 deps = [ 356 "../../api:array_view", 357 "../../rtc_base:checks", 358 "../../rtc_base:ignore_wundef", 359 ] 360 361 if (rtc_build_opus) { 362 deps += [ rtc_opus_dir ] 363 public_configs = [ "//third_party/opus:opus_config" ] 364 } else if (build_with_mozilla) { 365 public_configs = [ "../../third_party/opus:opus_config" ] 366 } 367 } 368 369 if (rtc_enable_protobuf) { 370 proto_library("ana_debug_dump_proto") { 371 visibility += webrtc_default_visibility 372 sources = [ "audio_network_adaptor/debug_dump.proto" ] 373 deps = [ ":ana_config_proto" ] 374 proto_out_dir = "modules/audio_coding/audio_network_adaptor" 375 } 376 proto_library("ana_config_proto") { 377 visibility += [ "*" ] 378 sources = [ "audio_network_adaptor/config.proto" ] 379 proto_out_dir = "modules/audio_coding/audio_network_adaptor" 380 } 381 } 382 383 rtc_library("audio_network_adaptor_config") { 384 visibility += webrtc_default_visibility 385 sources = [ 386 "audio_network_adaptor/audio_network_adaptor_config.cc", 387 "audio_network_adaptor/include/audio_network_adaptor_config.h", 388 ] 389 } 390 391 rtc_library("audio_network_adaptor") { 392 visibility += webrtc_default_visibility 393 sources = [ 394 "audio_network_adaptor/audio_network_adaptor_impl.cc", 395 "audio_network_adaptor/audio_network_adaptor_impl.h", 396 "audio_network_adaptor/bitrate_controller.cc", 397 "audio_network_adaptor/bitrate_controller.h", 398 "audio_network_adaptor/channel_controller.cc", 399 "audio_network_adaptor/channel_controller.h", 400 "audio_network_adaptor/controller.cc", 401 "audio_network_adaptor/controller.h", 402 "audio_network_adaptor/controller_manager.cc", 403 "audio_network_adaptor/controller_manager.h", 404 "audio_network_adaptor/debug_dump_writer.cc", 405 "audio_network_adaptor/debug_dump_writer.h", 406 "audio_network_adaptor/dtx_controller.cc", 407 "audio_network_adaptor/dtx_controller.h", 408 "audio_network_adaptor/event_log_writer.cc", 409 "audio_network_adaptor/event_log_writer.h", 410 "audio_network_adaptor/fec_controller_plr_based.cc", 411 "audio_network_adaptor/fec_controller_plr_based.h", 412 "audio_network_adaptor/frame_length_controller.cc", 413 "audio_network_adaptor/frame_length_controller.h", 414 "audio_network_adaptor/frame_length_controller_v2.cc", 415 "audio_network_adaptor/frame_length_controller_v2.h", 416 "audio_network_adaptor/include/audio_network_adaptor.h", 417 "audio_network_adaptor/util/threshold_curve.h", 418 ] 419 420 public_deps += # no-presubmit-check TODO(webrtc:8603) 421 [ ":audio_network_adaptor_config" ] 422 423 deps = [ 424 "../../api:array_view", 425 "../../api/audio_codecs:audio_codecs_api", 426 "../../api/environment", 427 "../../api/rtc_event_log", 428 "../../common_audio", 429 "../../logging:rtc_event_audio", 430 "../../rtc_base:checks", 431 "../../rtc_base:logging", 432 "../../rtc_base:protobuf_utils", 433 "../../rtc_base:safe_conversions", 434 "../../rtc_base/system:file_wrapper", 435 "../../system_wrappers", 436 "//third_party/abseil-cpp/absl/algorithm:container", 437 "//third_party/abseil-cpp/absl/strings:string_view", 438 ] 439 440 if (rtc_enable_protobuf) { 441 deps += [ 442 ":ana_config_proto", 443 ":ana_debug_dump_proto", 444 ] 445 } 446 } 447 448 rtc_library("neteq") { 449 visibility += webrtc_default_visibility 450 sources = [ 451 "neteq/accelerate.cc", 452 "neteq/accelerate.h", 453 "neteq/audio_multi_vector.cc", 454 "neteq/audio_multi_vector.h", 455 "neteq/audio_vector.cc", 456 "neteq/audio_vector.h", 457 "neteq/background_noise.cc", 458 "neteq/background_noise.h", 459 "neteq/buffer_level_filter.cc", 460 "neteq/buffer_level_filter.h", 461 "neteq/comfort_noise.cc", 462 "neteq/comfort_noise.h", 463 "neteq/cross_correlation.cc", 464 "neteq/cross_correlation.h", 465 "neteq/decision_logic.cc", 466 "neteq/decision_logic.h", 467 "neteq/decoder_database.cc", 468 "neteq/decoder_database.h", 469 "neteq/delay_constraints.cc", 470 "neteq/delay_constraints.h", 471 "neteq/delay_manager.cc", 472 "neteq/delay_manager.h", 473 "neteq/dsp_helper.cc", 474 "neteq/dsp_helper.h", 475 "neteq/dtmf_buffer.cc", 476 "neteq/dtmf_buffer.h", 477 "neteq/dtmf_tone_generator.cc", 478 "neteq/dtmf_tone_generator.h", 479 "neteq/expand.cc", 480 "neteq/expand.h", 481 "neteq/expand_uma_logger.cc", 482 "neteq/expand_uma_logger.h", 483 "neteq/histogram.cc", 484 "neteq/histogram.h", 485 "neteq/merge.cc", 486 "neteq/merge.h", 487 "neteq/nack_tracker.cc", 488 "neteq/nack_tracker.h", 489 "neteq/neteq_impl.cc", 490 "neteq/neteq_impl.h", 491 "neteq/normal.cc", 492 "neteq/normal.h", 493 "neteq/packet.cc", 494 "neteq/packet.h", 495 "neteq/packet_arrival_history.cc", 496 "neteq/packet_arrival_history.h", 497 "neteq/packet_buffer.cc", 498 "neteq/packet_buffer.h", 499 "neteq/preemptive_expand.cc", 500 "neteq/preemptive_expand.h", 501 "neteq/random_vector.cc", 502 "neteq/random_vector.h", 503 "neteq/red_payload_splitter.cc", 504 "neteq/red_payload_splitter.h", 505 "neteq/reorder_optimizer.cc", 506 "neteq/reorder_optimizer.h", 507 "neteq/statistics_calculator.cc", 508 "neteq/statistics_calculator.h", 509 "neteq/sync_buffer.cc", 510 "neteq/sync_buffer.h", 511 "neteq/time_stretch.cc", 512 "neteq/time_stretch.h", 513 "neteq/timestamp_scaler.cc", 514 "neteq/timestamp_scaler.h", 515 "neteq/underrun_optimizer.cc", 516 "neteq/underrun_optimizer.h", 517 ] 518 519 deps = [ 520 ":audio_coding_module_typedefs", 521 ":webrtc_cng", 522 "..:module_api_public", 523 "../../api:array_view", 524 "../../api:field_trials_view", 525 "../../api:rtp_headers", 526 "../../api:rtp_packet_info", 527 "../../api:scoped_refptr", 528 "../../api/audio:audio_frame_api", 529 "../../api/audio_codecs:audio_codecs_api", 530 "../../api/environment", 531 "../../api/neteq:delay_manager_api", 532 "../../api/neteq:neteq_api", 533 "../../api/neteq:neteq_controller_api", 534 "../../api/neteq:tick_timer", 535 "../../api/units:time_delta", 536 "../../api/units:timestamp", 537 "../../common_audio", 538 "../../common_audio:common_audio_c", 539 "../../common_audio:common_audio_cc", 540 "../../rtc_base:buffer", 541 "../../rtc_base:checks", 542 "../../rtc_base:event_tracer", 543 "../../rtc_base:gtest_prod", 544 "../../rtc_base:logging", 545 "../../rtc_base:macromagic", 546 "../../rtc_base:rtc_numerics", 547 "../../rtc_base:safe_conversions", 548 "../../rtc_base:safe_minmax", 549 "../../rtc_base:sanitizer", 550 "../../rtc_base/experiments:field_trial_parser", 551 "../../rtc_base/synchronization:mutex", 552 "../../system_wrappers", 553 "../../system_wrappers:metrics", 554 "//third_party/abseil-cpp/absl/strings", 555 "//third_party/abseil-cpp/absl/strings:string_view", 556 ] 557 } 558 559 # Although providing only test support, this target must be outside of the 560 # rtc_include_tests conditional. The reason is that it supports fuzzer tests 561 # that ultimately are built and run as a part of the Chromium ecosystem, which 562 # does not set the rtc_include_tests flag. 563 rtc_library("neteq_tools_minimal") { 564 visibility += webrtc_default_visibility 565 sources = [ 566 "neteq/tools/audio_sink.cc", 567 "neteq/tools/audio_sink.h", 568 "neteq/tools/encode_neteq_input.cc", 569 "neteq/tools/encode_neteq_input.h", 570 "neteq/tools/neteq_input.cc", 571 "neteq/tools/neteq_input.h", 572 "neteq/tools/neteq_test.cc", 573 "neteq/tools/neteq_test.h", 574 "neteq/tools/packet_source.cc", 575 "neteq/tools/packet_source.h", 576 ] 577 578 deps = [ 579 ":neteq", 580 "../../api:array_view", 581 "../../api:field_trials", 582 "../../api:neteq_simulator_api", 583 "../../api:rtp_headers", 584 "../../api:scoped_refptr", 585 "../../api/audio:audio_frame_api", 586 "../../api/audio_codecs:audio_codecs_api", 587 "../../api/environment", 588 "../../api/environment:environment_factory", 589 "../../api/neteq:custom_neteq_factory", 590 "../../api/neteq:default_neteq_controller_factory", 591 "../../api/neteq:default_neteq_factory", 592 "../../api/neteq:neteq_api", 593 "../../api/units:timestamp", 594 "../../rtc_base:buffer", 595 "../../rtc_base:checks", 596 "../../rtc_base:copy_on_write_buffer", 597 "../../rtc_base:safe_conversions", 598 "../../rtc_base:stringutils", 599 "../../system_wrappers", 600 "../rtp_rtcp:rtp_rtcp_format", 601 "//third_party/abseil-cpp/absl/strings:string_view", 602 ] 603 defines = audio_codec_defines 604 } 605 606 rtc_library("neteq_test_tools") { 607 visibility += webrtc_default_visibility 608 testonly = true 609 sources = [ 610 "neteq/tools/audio_checksum.h", 611 "neteq/tools/audio_loop.cc", 612 "neteq/tools/audio_loop.h", 613 "neteq/tools/constant_pcm_packet_source.cc", 614 "neteq/tools/constant_pcm_packet_source.h", 615 "neteq/tools/initial_packet_inserter_neteq_input.cc", 616 "neteq/tools/initial_packet_inserter_neteq_input.h", 617 "neteq/tools/neteq_rtp_dump_input.cc", 618 "neteq/tools/neteq_rtp_dump_input.h", 619 "neteq/tools/output_audio_file.h", 620 "neteq/tools/output_wav_file.h", 621 "neteq/tools/rtp_file_source.cc", 622 "neteq/tools/rtp_file_source.h", 623 "neteq/tools/rtp_generator.cc", 624 "neteq/tools/rtp_generator.h", 625 ] 626 627 deps = [ 628 ":neteq_tools", 629 ":neteq_tools_minimal", 630 ":pcm16b", 631 "../../api:array_view", 632 "../../api:rtp_headers", 633 "../../api/units:timestamp", 634 "../../common_audio", 635 "../../rtc_base:buffer", 636 "../../rtc_base:checks", 637 "../../rtc_base:copy_on_write_buffer", 638 "../../rtc_base:digest", 639 "../../rtc_base:stringutils", 640 "../../rtc_base/system:arch", 641 "../../test:rtp_test_utils", 642 "../rtp_rtcp:rtp_rtcp_format", 643 "//third_party/abseil-cpp/absl/strings:string_view", 644 ] 645 } 646 647 rtc_library("neteq_tools") { 648 visibility += webrtc_default_visibility 649 sources = [ 650 "neteq/tools/fake_decode_from_file.cc", 651 "neteq/tools/fake_decode_from_file.h", 652 "neteq/tools/neteq_delay_analyzer.cc", 653 "neteq/tools/neteq_delay_analyzer.h", 654 "neteq/tools/neteq_replacement_input.cc", 655 "neteq/tools/neteq_replacement_input.h", 656 "neteq/tools/neteq_stats_getter.cc", 657 "neteq/tools/neteq_stats_getter.h", 658 "neteq/tools/neteq_stats_plotter.cc", 659 "neteq/tools/neteq_stats_plotter.h", 660 ] 661 662 deps = [ 663 ":neteq_input_audio_tools", 664 ":neteq_tools_minimal", 665 "..:module_api_public", 666 "../../api:array_view", 667 "../../api:rtp_headers", 668 "../../api:rtp_packet_info", 669 "../../api/audio:audio_frame_api", 670 "../../api/audio_codecs:audio_codecs_api", 671 "../../api/neteq:neteq_api", 672 "../../logging:rtc_event_audio", 673 "../../logging:rtc_event_rtp_rtcp", 674 "../../rtc_base:buffer", 675 "../../rtc_base:checks", 676 "../../rtc_base:rtc_numerics", 677 "../../rtc_base:safe_conversions", 678 "../../rtc_base:stringutils", 679 "../../rtc_base:timeutils", 680 "../rtp_rtcp", 681 "../rtp_rtcp:rtp_rtcp_format", 682 "//third_party/abseil-cpp/absl/strings:string_view", 683 ] 684 685 if (rtc_enable_protobuf) { 686 sources += [ 687 "neteq/tools/neteq_event_log_input.cc", 688 "neteq/tools/neteq_event_log_input.h", 689 ] 690 deps += [ "../../logging:rtc_event_log_parser" ] 691 public_deps += # no-presubmit-check TODO(webrtc:8603) 692 [ "../../logging:rtc_event_log_proto" ] 693 } 694 } 695 696 rtc_library("neteq_input_audio_tools") { 697 visibility += webrtc_default_visibility 698 sources = [ 699 "neteq/tools/input_audio_file.cc", 700 "neteq/tools/input_audio_file.h", 701 "neteq/tools/resample_input_audio_file.cc", 702 "neteq/tools/resample_input_audio_file.h", 703 ] 704 705 deps = [ 706 "../../common_audio", 707 "../../rtc_base:checks", 708 "//third_party/abseil-cpp/absl/strings:string_view", 709 ] 710 } 711 712 if (rtc_enable_protobuf) { 713 # Only used for test purpose. Since we want to use it from chromium 714 # (see audio_coding_modules_tests_shared below), we cannot guard it 715 # under rtc_include_tests. 716 proto_library("neteq_unittest_proto") { 717 testonly = true 718 sources = [ "neteq/neteq_unittest.proto" ] 719 proto_out_dir = "modules/audio_coding/neteq" 720 } 721 } 722 723 # Allow to re-use some test classes from chromium. 724 rtc_library("audio_coding_modules_tests_shared") { 725 testonly = true 726 visibility = [] 727 visibility = [ "*" ] 728 729 sources = [ 730 "neteq/test/neteq_decoding_test.cc", 731 "neteq/test/neteq_decoding_test.h", 732 "neteq/test/result_sink.cc", 733 "neteq/test/result_sink.h", 734 "test/PCMFile.cc", 735 "test/PCMFile.h", 736 "test/TestStereo.cc", 737 "test/TestStereo.h", 738 "test/opus_test.cc", 739 "test/opus_test.h", 740 ] 741 742 deps = [ 743 ":audio_coding", 744 ":audio_coding_module_typedefs", 745 ":neteq_test_tools", 746 ":neteq_tools_minimal", 747 ":webrtc_opus_wrapper", 748 "..:module_api", 749 "../../api:array_view", 750 "../../api:rtp_headers", 751 "../../api:rtp_parameters", 752 "../../api/audio:audio_frame_api", 753 "../../api/audio_codecs:audio_codecs_api", 754 "../../api/audio_codecs:builtin_audio_decoder_factory", 755 "../../api/audio_codecs:builtin_audio_encoder_factory", 756 "../../api/environment", 757 "../../api/environment:environment_factory", 758 "../../api/neteq:default_neteq_factory", 759 "../../api/neteq:neteq_api", 760 "../../api/units:timestamp", 761 "../../common_audio", 762 "../../rtc_base:checks", 763 "../../rtc_base:digest", 764 "../../rtc_base:stringutils", 765 "../../system_wrappers", 766 "../../test:fileutils", 767 "../../test:test_support", 768 "../rtp_rtcp:rtp_rtcp_format", 769 "//testing/gtest", 770 "//third_party/abseil-cpp/absl/strings", 771 "//third_party/abseil-cpp/absl/strings:string_view", 772 ] 773 defines = audio_coding_defines 774 775 if (rtc_enable_protobuf) { 776 defines += [ "WEBRTC_NETEQ_UNITTEST_BITEXACT" ] 777 deps += [ ":neteq_unittest_proto" ] 778 } 779 } 780 781 if (rtc_include_tests) { 782 audio_coding_deps = [ 783 ":audio_encoder_cng", 784 ":g711", 785 ":g722", 786 ":pcm16b", 787 "../../common_audio", 788 "../../system_wrappers", 789 ] 790 if (rtc_include_opus) { 791 audio_coding_deps += [ ":webrtc_opus" ] 792 } 793 if (!build_with_mozilla && !build_with_chromium) { 794 audio_coding_deps += [ ":red" ] 795 } 796 797 rtc_source_set("mocks") { 798 testonly = true 799 sources = [ 800 "audio_network_adaptor/mock/mock_audio_network_adaptor.h", 801 "audio_network_adaptor/mock/mock_controller.h", 802 "audio_network_adaptor/mock/mock_controller_manager.h", 803 "audio_network_adaptor/mock/mock_debug_dump_writer.h", 804 ] 805 deps = [ 806 ":audio_network_adaptor", 807 "../../api/audio_codecs:audio_codecs_api", 808 "../../test:test_support", 809 ] 810 } 811 812 if (!build_with_chromium) { 813 group("audio_coding_tests") { 814 visibility += webrtc_default_visibility 815 testonly = true 816 public_deps = [ # no-presubmit-check TODO(webrtc:8603) 817 ":acm_receive_test", 818 ":acm_send_test", 819 ":audio_codec_speed_tests", 820 ":audio_decoder_unittests", 821 ":g711_test", 822 ":g722_test", 823 ":neteq_opus_quality_test", 824 ":neteq_pcm16b_quality_test", 825 ":neteq_pcmu_quality_test", 826 ":neteq_speed_test", 827 ":rtp_analyze", 828 ":rtp_encode", 829 ":rtp_jitter", 830 ":rtpcat", 831 ":webrtc_opus_fec_test", 832 ] 833 if (rtc_enable_protobuf) { 834 public_deps += # no-presubmit-check TODO(webrtc:8603) 835 [ ":neteq_rtpplay" ] 836 } 837 } 838 } 839 840 rtc_library("audio_coding_modules_tests") { 841 testonly = true 842 visibility += webrtc_default_visibility 843 844 sources = [ 845 "test/Channel.cc", 846 "test/Channel.h", 847 "test/EncodeDecodeTest.cc", 848 "test/EncodeDecodeTest.h", 849 "test/PacketLossTest.cc", 850 "test/PacketLossTest.h", 851 "test/RTPFile.cc", 852 "test/RTPFile.h", 853 "test/TestAllCodecs.cc", 854 "test/TestAllCodecs.h", 855 "test/TestRedFec.cc", 856 "test/TestRedFec.h", 857 "test/TestVADDTX.cc", 858 "test/TestVADDTX.h", 859 "test/Tester.cc", 860 "test/target_delay_unittest.cc", 861 ] 862 deps = [ 863 ":audio_coding", 864 ":audio_coding_module_typedefs", 865 ":audio_coding_modules_tests_shared", 866 ":audio_encoder_cng", 867 ":pcm16b_c", 868 ":red", 869 "../../api:array_view", 870 "../../api:field_trials", 871 "../../api:rtp_headers", 872 "../../api:scoped_refptr", 873 "../../api/audio:audio_frame_api", 874 "../../api/audio_codecs:audio_codecs_api", 875 "../../api/audio_codecs:builtin_audio_decoder_factory", 876 "../../api/audio_codecs:builtin_audio_encoder_factory", 877 "../../api/audio_codecs/L16:audio_decoder_L16", 878 "../../api/audio_codecs/L16:audio_encoder_L16", 879 "../../api/audio_codecs/g711:audio_decoder_g711", 880 "../../api/audio_codecs/g711:audio_encoder_g711", 881 "../../api/audio_codecs/g722:audio_decoder_g722", 882 "../../api/audio_codecs/g722:audio_encoder_g722", 883 "../../api/audio_codecs/opus:audio_decoder_opus", 884 "../../api/audio_codecs/opus:audio_encoder_opus", 885 "../../api/environment", 886 "../../api/environment:environment_factory", 887 "../../api/neteq:default_neteq_factory", 888 "../../api/neteq:neteq_api", 889 "../../api/units:timestamp", 890 "../../common_audio", 891 "../../rtc_base:checks", 892 "../../rtc_base:ip_address", 893 "../../rtc_base:macromagic", 894 "../../rtc_base:stringutils", 895 "../../rtc_base:timeutils", 896 "../../rtc_base/synchronization:mutex", 897 "../../test:create_test_field_trials", 898 "../../test:fileutils", 899 "../../test:test_support", 900 "//third_party/abseil-cpp/absl/strings", 901 "//third_party/abseil-cpp/absl/strings:string_view", 902 ] 903 defines = audio_coding_defines 904 } 905 906 rtc_library("audio_coding_perf_tests") { 907 testonly = true 908 visibility += webrtc_default_visibility 909 910 sources = [ 911 "codecs/opus/opus_complexity_unittest.cc", 912 "neteq/test/neteq_performance_unittest.cc", 913 ] 914 deps = [ 915 ":neteq_test_support", 916 ":neteq_test_tools", 917 "../../api/audio_codecs:audio_codecs_api", 918 "../../api/audio_codecs/opus:audio_encoder_opus", 919 "../../api/audio_codecs/opus:audio_encoder_opus_config", 920 "../../api/environment", 921 "../../api/environment:environment_factory", 922 "../../api/test/metrics:global_metrics_logger_and_exporter", 923 "../../api/test/metrics:metric", 924 "../../rtc_base:buffer", 925 "../../rtc_base:timeutils", 926 "../../system_wrappers", 927 "../../test:fileutils", 928 "../../test:test_flags", 929 "../../test:test_support", 930 "//third_party/abseil-cpp/absl/flags:flag", 931 ] 932 } 933 934 rtc_library("acm_receive_test") { 935 testonly = true 936 sources = [ 937 "acm2/acm_receive_test.cc", 938 "acm2/acm_receive_test.h", 939 ] 940 941 defines = audio_coding_defines 942 943 deps = [ 944 ":audio_coding", 945 ":neteq_tools", 946 ":neteq_tools_minimal", 947 "../../api:array_view", 948 "../../api:scoped_refptr", 949 "../../api/audio_codecs:audio_codecs_api", 950 "../../api/audio_codecs:builtin_audio_decoder_factory", 951 "../../api/environment:environment_factory", 952 "../../api/neteq:default_neteq_factory", 953 "../../api/neteq:neteq_api", 954 "../../test:test_support", 955 "../rtp_rtcp:rtp_rtcp_format", 956 "//testing/gtest", 957 ] 958 959 deps += audio_coding_deps 960 } 961 962 rtc_library("acm_send_test") { 963 testonly = true 964 sources = [ 965 "acm2/acm_send_test.cc", 966 "acm2/acm_send_test.h", 967 ] 968 969 defines = audio_coding_defines 970 971 deps = [ 972 ":audio_coding", 973 ":audio_coding_module_typedefs", 974 ":neteq_input_audio_tools", 975 ":neteq_tools", 976 ":neteq_tools_minimal", 977 "../../api/audio:audio_frame_api", 978 "../../api/audio_codecs:audio_codecs_api", 979 "../../api/audio_codecs:builtin_audio_decoder_factory", 980 "../../api/audio_codecs:builtin_audio_encoder_factory", 981 "../../api/environment", 982 "../../api/environment:environment_factory", 983 "../../rtc_base:checks", 984 "../../rtc_base:copy_on_write_buffer", 985 "../../rtc_base:stringutils", 986 "../../test:test_support", 987 "../rtp_rtcp:rtp_rtcp_format", 988 "//testing/gtest", 989 "//third_party/abseil-cpp/absl/strings", 990 "//third_party/abseil-cpp/absl/strings:string_view", 991 ] 992 deps += audio_coding_deps 993 } 994 995 if (!build_with_chromium) { 996 audio_decoder_unittests_resources = 997 [ "../../resources/audio_coding/testfile32kHz.pcm" ] 998 999 if (is_ios) { 1000 bundle_data("audio_decoder_unittests_bundle_data") { 1001 testonly = true 1002 sources = audio_decoder_unittests_resources 1003 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 1004 } 1005 } 1006 1007 rtc_test("audio_decoder_unittests") { 1008 testonly = true 1009 sources = [ "neteq/audio_decoder_unittest.cc" ] 1010 1011 defines = neteq_defines 1012 1013 deps = [ 1014 ":neteq_input_audio_tools", 1015 "../../api:array_view", 1016 "../../api/audio_codecs:audio_codecs_api", 1017 "../../api/audio_codecs/g722:audio_encoder_g722_config", 1018 "../../api/audio_codecs/opus:audio_encoder_opus", 1019 "../../api/audio_codecs/opus:audio_encoder_opus_config", 1020 "../../api/environment:environment_factory", 1021 "../../rtc_base:buffer", 1022 "../../rtc_base:checks", 1023 "../../test:create_test_field_trials", 1024 "../../test:fileutils", 1025 "../../test:test_main", 1026 "../../test:test_support", 1027 ] + audio_coding_deps 1028 1029 data = audio_decoder_unittests_resources 1030 1031 if (is_android) { 1032 use_default_launcher = false 1033 deps += [ "//build/android/gtest_apk:native_test_instrumentation_test_runner_java" ] 1034 shard_timeout = 900 1035 } 1036 if (is_ios) { 1037 deps += [ ":audio_decoder_unittests_bundle_data" ] 1038 } 1039 } 1040 } 1041 1042 if (rtc_enable_protobuf) { 1043 rtc_library("neteq_test_factory") { 1044 testonly = true 1045 visibility += webrtc_default_visibility 1046 defines = audio_codec_defines 1047 deps = [ 1048 ":neteq", 1049 ":neteq_input_audio_tools", 1050 ":neteq_test_tools", 1051 ":neteq_tools", 1052 ":neteq_tools_minimal", 1053 "../../api:make_ref_counted", 1054 "../../api:rtp_headers", 1055 "../../api:scoped_refptr", 1056 "../../api/audio_codecs:audio_codecs_api", 1057 "../../api/audio_codecs:builtin_audio_decoder_factory", 1058 "../../api/environment", 1059 "../../api/neteq:neteq_api", 1060 "../../logging:rtc_event_log_parser", 1061 "../../rtc_base:checks", 1062 "../../rtc_base:refcount", 1063 "../../test:audio_test_common", 1064 "../../test:fileutils", 1065 "../../test:test_support", 1066 "../rtp_rtcp:rtp_rtcp_format", 1067 "//third_party/abseil-cpp/absl/strings:string_view", 1068 ] 1069 sources = [ 1070 "neteq/tools/neteq_test_factory.cc", 1071 "neteq/tools/neteq_test_factory.h", 1072 ] 1073 } 1074 } 1075 1076 if (rtc_enable_protobuf && !build_with_chromium) { 1077 rtc_executable("neteq_rtpplay") { 1078 testonly = true 1079 visibility += [ "*" ] 1080 defines = [] 1081 deps = [ 1082 ":neteq_test_factory", 1083 ":neteq_tools_minimal", 1084 "../../rtc_base:checks", 1085 "../../rtc_base:stringutils", 1086 "//third_party/abseil-cpp/absl/flags:flag", 1087 "//third_party/abseil-cpp/absl/flags:parse", 1088 "//third_party/abseil-cpp/absl/strings:string_view", 1089 ] 1090 sources = [ "neteq/tools/neteq_rtpplay.cc" ] 1091 } 1092 } 1093 1094 if (!build_with_chromium) { 1095 audio_codec_speed_tests_resources = [ 1096 "//resources/audio_coding/music_stereo_48kHz.pcm", 1097 "//resources/audio_coding/speech_mono_16kHz.pcm", 1098 "//resources/audio_coding/speech_mono_32_48kHz.pcm", 1099 ] 1100 1101 if (is_ios) { 1102 bundle_data("audio_codec_speed_tests_data") { 1103 testonly = true 1104 sources = audio_codec_speed_tests_resources 1105 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 1106 } 1107 } 1108 1109 rtc_test("audio_codec_speed_tests") { 1110 testonly = true 1111 defines = [] 1112 deps = [ 1113 "../../test:fileutils", 1114 "//third_party/opus", 1115 ] 1116 sources = [ 1117 "codecs/opus/opus_speed_test.cc", 1118 "codecs/tools/audio_codec_speed_test.cc", 1119 "codecs/tools/audio_codec_speed_test.h", 1120 ] 1121 1122 data = audio_codec_speed_tests_resources 1123 1124 if (is_android) { 1125 use_default_launcher = false 1126 deps += [ "//build/android/gtest_apk:native_test_instrumentation_test_runner_java" ] 1127 shard_timeout = 900 1128 } 1129 1130 if (is_ios) { 1131 deps += [ ":audio_codec_speed_tests_data" ] 1132 } 1133 1134 deps += [ 1135 ":webrtc_opus", 1136 "../../rtc_base:checks", 1137 "../../test:test_main", 1138 "../../test:test_support", 1139 "../audio_processing", 1140 "//testing/gtest", 1141 ] 1142 } 1143 } 1144 1145 rtc_library("neteq_test_support") { 1146 testonly = true 1147 sources = [ 1148 "neteq/tools/neteq_performance_test.cc", 1149 "neteq/tools/neteq_performance_test.h", 1150 ] 1151 1152 deps = [ 1153 ":neteq", 1154 ":neteq_test_tools", 1155 ":pcm16b", 1156 "../../api:rtp_headers", 1157 "../../api/audio:audio_frame_api", 1158 "../../api/audio_codecs:audio_codecs_api", 1159 "../../api/audio_codecs:builtin_audio_decoder_factory", 1160 "../../api/environment", 1161 "../../api/environment:environment_factory", 1162 "../../api/neteq:default_neteq_factory", 1163 "../../api/neteq:neteq_api", 1164 "../../api/units:timestamp", 1165 "../../rtc_base:checks", 1166 "../../system_wrappers", 1167 "../../test:fileutils", 1168 "../../test:test_support", 1169 "//testing/gtest", 1170 ] 1171 } 1172 1173 if (!build_with_chromium) { 1174 rtc_library("neteq_quality_test_support") { 1175 testonly = true 1176 sources = [ 1177 "neteq/tools/neteq_quality_test.cc", 1178 "neteq/tools/neteq_quality_test.h", 1179 ] 1180 1181 deps = [ 1182 ":neteq", 1183 ":neteq_input_audio_tools", 1184 ":neteq_test_tools", 1185 ":neteq_tools_minimal", 1186 "../../api:array_view", 1187 "../../api:rtp_headers", 1188 "../../api:scoped_refptr", 1189 "../../api/audio_codecs:audio_codecs_api", 1190 "../../api/audio_codecs:builtin_audio_decoder_factory", 1191 "../../api/environment:environment_factory", 1192 "../../api/neteq:default_neteq_factory", 1193 "../../api/neteq:neteq_api", 1194 "../../api/units:timestamp", 1195 "../../rtc_base:buffer", 1196 "../../rtc_base:checks", 1197 "../../rtc_base:stringutils", 1198 "../../system_wrappers", 1199 "../../test:fileutils", 1200 "../../test:test_support", 1201 "//testing/gtest", 1202 "//third_party/abseil-cpp/absl/flags:flag", 1203 "//third_party/abseil-cpp/absl/strings:string_view", 1204 ] 1205 } 1206 1207 rtc_executable("rtp_encode") { 1208 testonly = true 1209 1210 deps = [ 1211 ":audio_coding", 1212 ":audio_coding_module_typedefs", 1213 ":audio_encoder_cng", 1214 ":neteq_input_audio_tools", 1215 "../../api/audio:audio_frame_api", 1216 "../../api/audio_codecs/L16:audio_encoder_L16", 1217 "../../api/audio_codecs/g711:audio_encoder_g711", 1218 "../../api/audio_codecs/g722:audio_encoder_g722", 1219 "../../api/audio_codecs/opus:audio_encoder_opus", 1220 "../../api/environment:environment_factory", 1221 "../../rtc_base:checks", 1222 "../../rtc_base:ip_address", 1223 "../../rtc_base:safe_conversions", 1224 "//third_party/abseil-cpp/absl/flags:flag", 1225 "//third_party/abseil-cpp/absl/flags:parse", 1226 ] 1227 1228 deps += audio_coding_deps 1229 1230 sources = [ "neteq/tools/rtp_encode.cc" ] 1231 1232 defines = audio_coding_defines 1233 } 1234 1235 rtc_executable("rtp_jitter") { 1236 testonly = true 1237 1238 deps = [ 1239 "../../api:array_view", 1240 "../../rtc_base:buffer", 1241 "../../rtc_base:checks", 1242 "../rtp_rtcp:rtp_rtcp_format", 1243 ] 1244 1245 deps += audio_coding_deps 1246 1247 sources = [ "neteq/tools/rtp_jitter.cc" ] 1248 1249 defines = audio_coding_defines 1250 } 1251 1252 rtc_executable("rtpcat") { 1253 testonly = true 1254 1255 sources = [ "neteq/tools/rtpcat.cc" ] 1256 1257 deps = [ 1258 "../../rtc_base:checks", 1259 "../../test:rtp_test_utils", 1260 "//testing/gtest", 1261 ] 1262 } 1263 1264 rtc_executable("rtp_analyze") { 1265 testonly = true 1266 1267 sources = [ "neteq/tools/rtp_analyze.cc" ] 1268 1269 deps = [ 1270 ":neteq", 1271 ":neteq_test_tools", 1272 ":neteq_tools_minimal", 1273 ":pcm16b", 1274 "../../api:rtp_headers", 1275 "../../rtc_base:checks", 1276 "../rtp_rtcp:rtp_rtcp_format", 1277 "//testing/gtest", 1278 "//third_party/abseil-cpp/absl/flags:flag", 1279 "//third_party/abseil-cpp/absl/flags:parse", 1280 ] 1281 } 1282 1283 rtc_executable("neteq_opus_quality_test") { 1284 testonly = true 1285 1286 sources = [ "neteq/test/neteq_opus_quality_test.cc" ] 1287 1288 deps = [ 1289 ":neteq", 1290 ":neteq_quality_test_support", 1291 ":neteq_tools", 1292 ":webrtc_opus", 1293 "../../api:array_view", 1294 "../../api:rtp_parameters", 1295 "../../api/audio_codecs:audio_codecs_api", 1296 "../../rtc_base:buffer", 1297 "../../rtc_base:checks", 1298 "../../test:test_main", 1299 "../../test:test_support", 1300 "//testing/gtest", 1301 "//third_party/abseil-cpp/absl/flags:flag", 1302 "//third_party/opus", 1303 ] 1304 } 1305 1306 rtc_executable("neteq_speed_test") { 1307 testonly = true 1308 1309 sources = [ "neteq/test/neteq_speed_test.cc" ] 1310 1311 deps = [ 1312 ":neteq", 1313 ":neteq_test_support", 1314 "../../rtc_base:checks", 1315 "../../test:test_support", 1316 "//third_party/abseil-cpp/absl/flags:flag", 1317 "//third_party/abseil-cpp/absl/flags:parse", 1318 ] 1319 } 1320 1321 rtc_executable("neteq_pcmu_quality_test") { 1322 testonly = true 1323 1324 sources = [ "neteq/test/neteq_pcmu_quality_test.cc" ] 1325 1326 deps = [ 1327 ":g711", 1328 ":neteq", 1329 ":neteq_quality_test_support", 1330 "../../api:array_view", 1331 "../../api/audio_codecs:audio_codecs_api", 1332 "../../rtc_base:buffer", 1333 "../../rtc_base:checks", 1334 "../../rtc_base:safe_conversions", 1335 "../../test:fileutils", 1336 "../../test:test_main", 1337 "../../test:test_support", 1338 "//testing/gtest", 1339 "//third_party/abseil-cpp/absl/flags:flag", 1340 ] 1341 } 1342 1343 rtc_executable("neteq_pcm16b_quality_test") { 1344 testonly = true 1345 1346 sources = [ "neteq/test/neteq_pcm16b_quality_test.cc" ] 1347 1348 deps = [ 1349 ":neteq", 1350 ":neteq_quality_test_support", 1351 ":pcm16b", 1352 "../../api:array_view", 1353 "../../api/audio_codecs:audio_codecs_api", 1354 "../../rtc_base:buffer", 1355 "../../rtc_base:checks", 1356 "../../rtc_base:safe_conversions", 1357 "../../test:fileutils", 1358 "../../test:test_main", 1359 "../../test:test_support", 1360 "//testing/gtest", 1361 "//third_party/abseil-cpp/absl/flags:flag", 1362 ] 1363 } 1364 } 1365 1366 rtc_executable("g711_test") { 1367 testonly = true 1368 1369 sources = [ "codecs/g711/test/testG711.cc" ] 1370 1371 deps = [ ":g711" ] 1372 } 1373 1374 rtc_executable("g722_test") { 1375 testonly = true 1376 1377 sources = [ "codecs/g722/test/testG722.cc" ] 1378 1379 deps = [ ":g722" ] 1380 } 1381 1382 if (!build_with_chromium) { 1383 rtc_executable("webrtc_opus_fec_test") { 1384 testonly = true 1385 1386 sources = [ "codecs/opus/opus_fec_test.cc" ] 1387 1388 deps = [ 1389 ":webrtc_opus", 1390 "../../common_audio", 1391 "../../test:fileutils", 1392 "../../test:test_main", 1393 "../../test:test_support", 1394 "//testing/gtest", 1395 ] 1396 } 1397 1398 rtc_library("audio_coding_unittests") { 1399 testonly = true 1400 visibility += webrtc_default_visibility 1401 1402 sources = [ 1403 "acm2/acm_remixing_unittest.cc", 1404 "acm2/audio_coding_module_unittest.cc", 1405 "acm2/call_statistics_unittest.cc", 1406 "audio_network_adaptor/audio_network_adaptor_impl_unittest.cc", 1407 "audio_network_adaptor/bitrate_controller_unittest.cc", 1408 "audio_network_adaptor/channel_controller_unittest.cc", 1409 "audio_network_adaptor/controller_manager_unittest.cc", 1410 "audio_network_adaptor/dtx_controller_unittest.cc", 1411 "audio_network_adaptor/event_log_writer_unittest.cc", 1412 "audio_network_adaptor/fec_controller_plr_based_unittest.cc", 1413 "audio_network_adaptor/frame_length_controller_unittest.cc", 1414 "audio_network_adaptor/frame_length_controller_v2_unittest.cc", 1415 "audio_network_adaptor/util/threshold_curve_unittest.cc", 1416 "codecs/builtin_audio_decoder_factory_unittest.cc", 1417 "codecs/builtin_audio_encoder_factory_unittest.cc", 1418 "codecs/cng/audio_encoder_cng_unittest.cc", 1419 "codecs/cng/cng_unittest.cc", 1420 "codecs/legacy_encoded_audio_frame_unittest.cc", 1421 "codecs/opus/audio_decoder_multi_channel_opus_unittest.cc", 1422 "codecs/opus/audio_decoder_opus_unittest.cc", 1423 "codecs/opus/audio_encoder_multi_channel_opus_unittest.cc", 1424 "codecs/opus/audio_encoder_opus_unittest.cc", 1425 "codecs/opus/opus_bandwidth_unittest.cc", 1426 "codecs/opus/opus_unittest.cc", 1427 "codecs/red/audio_encoder_copy_red_unittest.cc", 1428 "neteq/audio_multi_vector_unittest.cc", 1429 "neteq/audio_vector_unittest.cc", 1430 "neteq/background_noise_unittest.cc", 1431 "neteq/buffer_level_filter_unittest.cc", 1432 "neteq/comfort_noise_unittest.cc", 1433 "neteq/decision_logic_unittest.cc", 1434 "neteq/decoder_database_unittest.cc", 1435 "neteq/delay_constraints_unittest.cc", 1436 "neteq/delay_manager_unittest.cc", 1437 "neteq/dsp_helper_unittest.cc", 1438 "neteq/dtmf_buffer_unittest.cc", 1439 "neteq/dtmf_tone_generator_unittest.cc", 1440 "neteq/expand_unittest.cc", 1441 "neteq/histogram_unittest.cc", 1442 "neteq/merge_unittest.cc", 1443 "neteq/mock/mock_buffer_level_filter.h", 1444 "neteq/mock/mock_decoder_database.h", 1445 "neteq/mock/mock_delay_manager.h", 1446 "neteq/mock/mock_dtmf_buffer.h", 1447 "neteq/mock/mock_dtmf_tone_generator.h", 1448 "neteq/mock/mock_expand.h", 1449 "neteq/mock/mock_histogram.h", 1450 "neteq/mock/mock_neteq_controller.h", 1451 "neteq/mock/mock_packet_arrival_history.h", 1452 "neteq/mock/mock_packet_buffer.h", 1453 "neteq/mock/mock_red_payload_splitter.h", 1454 "neteq/mock/mock_statistics_calculator.h", 1455 "neteq/nack_tracker_unittest.cc", 1456 "neteq/neteq_decoder_plc_unittest.cc", 1457 "neteq/neteq_impl_unittest.cc", 1458 "neteq/neteq_network_stats_unittest.cc", 1459 "neteq/neteq_stereo_unittest.cc", 1460 "neteq/neteq_unittest.cc", 1461 "neteq/normal_unittest.cc", 1462 "neteq/packet_arrival_history_unittest.cc", 1463 "neteq/packet_buffer_unittest.cc", 1464 "neteq/random_vector_unittest.cc", 1465 "neteq/red_payload_splitter_unittest.cc", 1466 "neteq/reorder_optimizer_unittest.cc", 1467 "neteq/statistics_calculator_unittest.cc", 1468 "neteq/sync_buffer_unittest.cc", 1469 "neteq/time_stretch_unittest.cc", 1470 "neteq/timestamp_scaler_unittest.cc", 1471 "neteq/tools/input_audio_file_unittest.cc", 1472 "neteq/underrun_optimizer_unittest.cc", 1473 ] 1474 1475 deps = [ 1476 ":acm_receive_test", 1477 ":acm_send_test", 1478 ":audio_coding", 1479 ":audio_coding_module_typedefs", 1480 ":audio_coding_modules_tests_shared", 1481 ":audio_coding_opus_common", 1482 ":audio_encoder_cng", 1483 ":audio_network_adaptor", 1484 ":audio_network_adaptor_config", 1485 ":g711", 1486 ":legacy_encoded_audio_frame", 1487 ":mocks", 1488 ":neteq", 1489 ":neteq_input_audio_tools", 1490 ":neteq_test_tools", 1491 ":neteq_tools_minimal", 1492 ":pcm16b", 1493 ":pcm16b_c", 1494 ":red", 1495 ":webrtc_cng", 1496 ":webrtc_opus", 1497 ":webrtc_opus_wrapper", 1498 "..:module_api_public", 1499 "../../api:array_view", 1500 "../../api:bitrate_allocation", 1501 "../../api:field_trials", 1502 "../../api:field_trials_view", 1503 "../../api:make_ref_counted", 1504 "../../api:rtp_headers", 1505 "../../api:rtp_packet_info", 1506 "../../api:rtp_parameters", 1507 "../../api:scoped_refptr", 1508 "../../api/audio:audio_frame_api", 1509 "../../api/audio_codecs:audio_codecs_api", 1510 "../../api/audio_codecs:builtin_audio_decoder_factory", 1511 "../../api/audio_codecs:builtin_audio_encoder_factory", 1512 "../../api/audio_codecs/opus:audio_decoder_multiopus", 1513 "../../api/audio_codecs/opus:audio_decoder_opus", 1514 "../../api/audio_codecs/opus:audio_encoder_multiopus", 1515 "../../api/audio_codecs/opus:audio_encoder_opus", 1516 "../../api/audio_codecs/opus:audio_encoder_opus_config", 1517 "../../api/environment", 1518 "../../api/environment:environment_factory", 1519 "../../api/neteq:default_neteq_controller_factory", 1520 "../../api/neteq:default_neteq_factory", 1521 "../../api/neteq:neteq_api", 1522 "../../api/neteq:neteq_controller_api", 1523 "../../api/neteq:tick_timer", 1524 "../../api/neteq:tick_timer_unittest", 1525 "../../api/rtc_event_log", 1526 "../../api/units:data_rate", 1527 "../../api/units:time_delta", 1528 "../../api/units:timestamp", 1529 "../../common_audio", 1530 "../../common_audio:mock_common_audio", 1531 "../../logging:mocks", 1532 "../../logging:rtc_event_audio", 1533 "../../rtc_base:buffer", 1534 "../../rtc_base:checks", 1535 "../../rtc_base:copy_on_write_buffer", 1536 "../../rtc_base:digest", 1537 "../../rtc_base:ip_address", 1538 "../../rtc_base:macromagic", 1539 "../../rtc_base:platform_thread", 1540 "../../rtc_base:random", 1541 "../../rtc_base:rtc_base_tests_utils", 1542 "../../rtc_base:rtc_event", 1543 "../../rtc_base:safe_conversions", 1544 "../../rtc_base:stringutils", 1545 "../../rtc_base:threading", 1546 "../../rtc_base/synchronization:mutex", 1547 "../../rtc_base/system:arch", 1548 "../../system_wrappers", 1549 "../../test:audio_codec_mocks", 1550 "../../test:audio_test_common", 1551 "../../test:create_test_environment", 1552 "../../test:create_test_field_trials", 1553 "../../test:fileutils", 1554 "../../test:rtc_expect_death", 1555 "../../test:test_support", 1556 "../rtp_rtcp:rtp_rtcp_format", 1557 "codecs/opus/test", 1558 "codecs/opus/test:test_unittest", 1559 "//third_party/abseil-cpp/absl/flags:flag", 1560 "//third_party/abseil-cpp/absl/memory", 1561 "//third_party/abseil-cpp/absl/strings:string_view", 1562 "//third_party/opus", 1563 ] 1564 1565 defines = audio_coding_defines 1566 1567 if (rtc_enable_protobuf) { 1568 defines += [ "WEBRTC_NETEQ_UNITTEST_BITEXACT" ] 1569 deps += [ 1570 ":ana_config_proto", 1571 ":neteq_unittest_proto", 1572 ] 1573 } 1574 } 1575 } 1576 } 1577 1578 # For backwards compatibility only! Use 1579 # webrtc/api/audio_codecs:audio_codecs_api instead. 1580 # TODO(kwiberg): Remove this. 1581 rtc_source_set("audio_decoder_interface") { 1582 visibility += [ "*" ] 1583 sources = [ "codecs/audio_decoder.h" ] 1584 deps = [ "../../api/audio_codecs:audio_codecs_api" ] 1585 } 1586 1587 # For backwards compatibility only! Use 1588 # webrtc/api/audio_codecs:audio_codecs_api instead. 1589 # TODO(ossu): Remove this. 1590 rtc_source_set("audio_encoder_interface") { 1591 visibility += [ "*" ] 1592 sources = [ "codecs/audio_encoder.h" ] 1593 deps = [ "../../api/audio_codecs:audio_codecs_api" ] 1594 }