1# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 2# 3# Use of this source code is governed by a BSD-style license 4# that can be found in the LICENSE file in the root of the source 5# tree. An additional intellectual property rights grant can be found 6# in the file PATENTS. All contributing project authors may 7# be found in the AUTHORS file in the root of the source tree. 8 9import("../../../webrtc.gni") 10 11rtc_library("pcc") { 12 sources = [ 13 "pcc_factory.cc", 14 "pcc_factory.h", 15 ] 16 deps = [ 17 ":pcc_controller", 18 "../../../api/transport:network_control", 19 "../../../api/units:time_delta", 20 ] 21} 22 23rtc_library("pcc_controller") { 24 sources = [ 25 "pcc_network_controller.cc", 26 "pcc_network_controller.h", 27 ] 28 deps = [ 29 ":bitrate_controller", 30 ":monitor_interval", 31 ":rtt_tracker", 32 "../../../api/transport:network_control", 33 "../../../api/units:data_rate", 34 "../../../api/units:data_size", 35 "../../../api/units:time_delta", 36 "../../../api/units:timestamp", 37 "../../../rtc_base:checks", 38 "../../../rtc_base:random", 39 ] 40 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 41} 42 43rtc_library("monitor_interval") { 44 sources = [ 45 "monitor_interval.cc", 46 "monitor_interval.h", 47 ] 48 deps = [ 49 "../../../api/transport:network_control", 50 "../../../api/units:data_rate", 51 "../../../api/units:data_size", 52 "../../../api/units:time_delta", 53 "../../../api/units:timestamp", 54 "../../../rtc_base:logging", 55 ] 56} 57 58rtc_library("rtt_tracker") { 59 sources = [ 60 "rtt_tracker.cc", 61 "rtt_tracker.h", 62 ] 63 deps = [ 64 "../../../api/transport:network_control", 65 "../../../api/units:time_delta", 66 "../../../api/units:timestamp", 67 ] 68} 69 70rtc_library("utility_function") { 71 sources = [ 72 "utility_function.cc", 73 "utility_function.h", 74 ] 75 deps = [ 76 ":monitor_interval", 77 "../../../api/transport:network_control", 78 "../../../api/units:data_rate", 79 "../../../rtc_base:checks", 80 ] 81} 82 83rtc_library("bitrate_controller") { 84 sources = [ 85 "bitrate_controller.cc", 86 "bitrate_controller.h", 87 ] 88 deps = [ 89 ":monitor_interval", 90 ":utility_function", 91 "../../../api/transport:network_control", 92 "../../../api/units:data_rate", 93 ] 94 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 95} 96 97if (rtc_include_tests && !build_with_chromium) { 98 rtc_library("pcc_unittests") { 99 testonly = true 100 sources = [ 101 "bitrate_controller_unittest.cc", 102 "monitor_interval_unittest.cc", 103 "pcc_network_controller_unittest.cc", 104 "rtt_tracker_unittest.cc", 105 "utility_function_unittest.cc", 106 ] 107 deps = [ 108 ":bitrate_controller", 109 ":monitor_interval", 110 ":pcc", 111 ":pcc_controller", 112 ":rtt_tracker", 113 ":utility_function", 114 "../../../api/transport:network_control", 115 "../../../api/units:data_rate", 116 "../../../api/units:data_size", 117 "../../../api/units:time_delta", 118 "../../../api/units:timestamp", 119 "../../../test:test_support", 120 "../../../test/scenario", 121 ] 122 } 123} 124