webrtc/api/transport/BUILD.gn
Danil Chapovalov f20ed3e8ad Add option to provide Environment for CongestionConroller construction
This would allow network controllers, GoogCcNetworkController in particular to have access to Environment at construction and thus it can rely on propagated field trials and won't need to fallback to the global field trial string

Bug: webrtc:42220378
Change-Id: I36099522e3866a89a8c8d6303da03f7d5b1cad8e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/350201
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42260}
2024-05-08 12:46:23 +00:00

176 lines
4.2 KiB
Text

# 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" ]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("bandwidth_estimation_settings") {
visibility = [ "*" ]
sources = [ "bandwidth_estimation_settings.h" ]
deps = [ "../../rtc_base/system:rtc_export" ]
}
rtc_source_set("enums") {
visibility = [ "*" ]
sources = [ "enums.h" ]
}
rtc_library("network_control") {
visibility = [ "*" ]
sources = [
"network_control.h",
"network_types.cc",
"network_types.h",
]
deps = [
"../../api:field_trials_view",
"../environment",
"../rtc_event_log",
"../units:data_rate",
"../units:data_size",
"../units:time_delta",
"../units:timestamp",
]
absl_deps = [
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("field_trial_based_config") {
visibility = [ "*" ]
sources = [
"field_trial_based_config.cc",
"field_trial_based_config.h",
]
deps = [
"../../api:field_trials_registry",
"../../rtc_base/system:rtc_export",
"../../system_wrappers:field_trial",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
rtc_source_set("datagram_transport_interface") {
visibility = [ "*" ]
sources = [ "data_channel_transport_interface.h" ]
deps = [
"..:array_view",
"..:rtc_error",
"../../rtc_base:copy_on_write_buffer",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
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:checks",
]
}
rtc_source_set("sctp_transport_factory_interface") {
visibility = [ "*" ]
sources = [ "sctp_transport_factory_interface.h" ]
deps = [ "../../api/environment" ]
}
rtc_source_set("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:ip_address",
"../../rtc_base:logging",
"../../rtc_base:socket_address",
"../../rtc_base:ssl",
"../../system_wrappers:metrics",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
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",
]
}
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",
"../../test/network:feedback_generator",
]
}
}
if (rtc_include_tests) {
rtc_source_set("stun_unittest") {
visibility = [ "*" ]
testonly = true
sources = [ "stun_unittest.cc" ]
deps = [
":stun_types",
"../../rtc_base:byte_buffer",
"../../rtc_base:byte_order",
"../../rtc_base:macromagic",
"../../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",
]
}
}