tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }