| # Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. | 
 | # | 
 | # Use of this source code is governed by a BSD-style license | 
 | # that can be found in the LICENSE file in the root of the source | 
 | # tree. An additional intellectual property rights grant can be found | 
 | # in the file PATENTS.  All contributing project authors may | 
 | # be found in the AUTHORS file in the root of the source tree. | 
 |  | 
 | import("../../webrtc.gni") | 
 |  | 
 | rtc_library("bitrate_settings") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "bitrate_settings.cc", | 
 |     "bitrate_settings.h", | 
 |   ] | 
 |   deps = [ "../../rtc_base/system:rtc_export" ] | 
 | } | 
 |  | 
 | rtc_source_set("bandwidth_usage") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ "bandwidth_usage.h" ] | 
 | } | 
 |  | 
 | rtc_library("bandwidth_estimation_settings") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ "bandwidth_estimation_settings.h" ] | 
 |   deps = [ "../../rtc_base/system:rtc_export" ] | 
 | } | 
 |  | 
 | rtc_source_set("ecn_marking") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ "ecn_marking.h" ] | 
 | } | 
 |  | 
 | rtc_source_set("enums") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ "enums.h" ] | 
 | } | 
 |  | 
 | rtc_library("network_control") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "network_control.h", | 
 |     "network_types.cc", | 
 |     "network_types.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":ecn_marking", | 
 |     "../../api:field_trials_view", | 
 |     "../../rtc_base/system:rtc_export", | 
 |     "../environment", | 
 |     "../rtc_event_log", | 
 |     "../units:data_rate", | 
 |     "../units:data_size", | 
 |     "../units:time_delta", | 
 |     "../units:timestamp", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("datagram_transport_interface") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ "data_channel_transport_interface.h" ] | 
 |   deps = [ | 
 |     "..:array_view", | 
 |     "..:priority", | 
 |     "..:rtc_error", | 
 |     "../../rtc_base:copy_on_write_buffer", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("goog_cc") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "goog_cc_factory.cc", | 
 |     "goog_cc_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":network_control", | 
 |     "..:network_state_predictor_api", | 
 |     "../../api/units:time_delta", | 
 |     "../../modules/congestion_controller/goog_cc", | 
 |     "../../rtc_base/system:rtc_export", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("sctp_transport_factory_interface") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ "sctp_transport_factory_interface.h" ] | 
 |   deps = [ | 
 |     "..:field_trials_view", | 
 |     "../../api/environment", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("stun_types") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "stun.cc", | 
 |     "stun.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "../../api:array_view", | 
 |     "../../rtc_base:byte_buffer", | 
 |     "../../rtc_base:byte_order", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:crc32", | 
 |     "../../rtc_base:crypto_random", | 
 |     "../../rtc_base:digest", | 
 |     "../../rtc_base:ip_address", | 
 |     "../../rtc_base:logging", | 
 |     "../../rtc_base:net_helpers", | 
 |     "../../rtc_base:socket_address", | 
 |     "../../system_wrappers:metrics", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   rtc_source_set("test_feedback_generator_interface") { | 
 |     testonly = true | 
 |     sources = [ "test/feedback_generator_interface.h" ] | 
 |     visibility = [ "*" ] | 
 |     deps = [ | 
 |       ":network_control", | 
 |       "..:simulated_network_api", | 
 |       "../../api:network_emulation_manager_api", | 
 |       "../../api/rtc_event_log", | 
 |       "../units:data_rate", | 
 |       "../units:data_size", | 
 |       "../units:time_delta", | 
 |       "../units:timestamp", | 
 |     ] | 
 |   } | 
 |   rtc_library("test_feedback_generator") { | 
 |     testonly = true | 
 |     sources = [ | 
 |       "test/create_feedback_generator.cc", | 
 |       "test/create_feedback_generator.h", | 
 |     ] | 
 |     visibility = [ "*" ] | 
 |     deps = [ | 
 |       ":network_control", | 
 |       ":test_feedback_generator_interface", | 
 |       "../../api:network_emulation_manager_api", | 
 |       "../../api/rtc_event_log", | 
 |       "../../test/network:feedback_generator", | 
 |     ] | 
 |   } | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   rtc_library("stun_unittest") { | 
 |     visibility = [ "*" ] | 
 |     testonly = true | 
 |     sources = [ "stun_unittest.cc" ] | 
 |     deps = [ | 
 |       ":stun_types", | 
 |       "..:array_view", | 
 |       "../../rtc_base:byte_buffer", | 
 |       "../../rtc_base:byte_order", | 
 |       "../../rtc_base:ip_address", | 
 |       "../../rtc_base:socket_address", | 
 |       "../../system_wrappers:metrics", | 
 |       "../../test:test_support", | 
 |       "//testing/gtest", | 
 |     ] | 
 |   } | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   rtc_source_set("mock_network_control") { | 
 |     visibility = [ "*" ] | 
 |     testonly = true | 
 |     sources = [ "test/mock_network_control.h" ] | 
 |     deps = [ | 
 |       ":network_control", | 
 |       "../../test:test_support", | 
 |     ] | 
 |   } | 
 | } |