BUILD.gn (6118B)
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 11 rtc_library("remote_bitrate_estimator") { 12 sources = [ 13 "aimd_rate_control.cc", 14 "aimd_rate_control.h", 15 "bwe_defines.cc", 16 "include/bwe_defines.h", 17 "include/remote_bitrate_estimator.h", 18 "inter_arrival.cc", 19 "inter_arrival.h", 20 "overuse_detector.cc", 21 "overuse_detector.h", 22 "overuse_estimator.cc", 23 "overuse_estimator.h", 24 "remote_bitrate_estimator_abs_send_time.cc", 25 "remote_bitrate_estimator_abs_send_time.h", 26 "remote_bitrate_estimator_single_stream.cc", 27 "remote_bitrate_estimator_single_stream.h", 28 ] 29 30 deps = [ 31 "..:module_api", 32 "..:module_api_public", 33 "../../api:field_trials_view", 34 "../../api:rtp_headers", 35 "../../api/environment", 36 "../../api/transport:bandwidth_usage", 37 "../../api/transport:network_control", 38 "../../api/units:data_rate", 39 "../../api/units:data_size", 40 "../../api/units:time_delta", 41 "../../api/units:timestamp", 42 "../../rtc_base:bitrate_tracker", 43 "../../rtc_base:checks", 44 "../../rtc_base:logging", 45 "../../rtc_base:safe_minmax", 46 "../../rtc_base/experiments:field_trial_parser", 47 "../../rtc_base/synchronization:mutex", 48 "../../system_wrappers", 49 "../../system_wrappers:metrics", 50 "../congestion_controller/goog_cc:link_capacity_estimator", 51 "../rtp_rtcp:rtp_rtcp_format", 52 "//third_party/abseil-cpp/absl/base:nullability", 53 "//third_party/abseil-cpp/absl/strings", 54 ] 55 } 56 57 rtc_source_set("rtp_transport_feedback_generator") { 58 sources = [ "rtp_transport_feedback_generator.h" ] 59 deps = [ 60 "../../api/units:data_rate", 61 "../../api/units:data_size", 62 "../../api/units:time_delta", 63 "../../api/units:timestamp", 64 "../rtp_rtcp:rtp_rtcp_format", 65 ] 66 } 67 68 rtc_library("transport_sequence_number_feedback_generator") { 69 sources = [ 70 "packet_arrival_map.cc", 71 "packet_arrival_map.h", 72 "transport_sequence_number_feedback_generator.cc", 73 "transport_sequence_number_feedback_generator.h", 74 ] 75 deps = [ 76 ":rtp_transport_feedback_generator", 77 "../../api:field_trials_view", 78 "../../api:rtp_headers", 79 "../../api/transport:network_control", 80 "../../api/units:data_rate", 81 "../../api/units:data_size", 82 "../../api/units:time_delta", 83 "../../api/units:timestamp", 84 "../../rtc_base:checks", 85 "../../rtc_base:logging", 86 "../../rtc_base:macromagic", 87 "../../rtc_base:rtc_numerics", 88 "../../rtc_base:safe_minmax", 89 "../../rtc_base/synchronization:mutex", 90 "../../system_wrappers", 91 "../rtp_rtcp:rtp_rtcp_format", 92 ] 93 } 94 95 rtc_library("congestion_control_feedback_generator") { 96 sources = [ 97 "congestion_control_feedback_generator.cc", 98 "congestion_control_feedback_generator.h", 99 "congestion_control_feedback_tracker.cc", 100 "congestion_control_feedback_tracker.h", 101 ] 102 deps = [ 103 ":rtp_transport_feedback_generator", 104 "../../api:field_trials_view", 105 "../../api:sequence_checker", 106 "../../api/environment", 107 "../../api/transport:ecn_marking", 108 "../../api/units:data_rate", 109 "../../api/units:data_size", 110 "../../api/units:time_delta", 111 "../../api/units:timestamp", 112 "../../rtc_base:checks", 113 "../../rtc_base:logging", 114 "../../rtc_base:rtc_numerics", 115 "../../rtc_base/experiments:field_trial_parser", 116 "../rtp_rtcp:ntp_time_util", 117 "../rtp_rtcp:rtp_rtcp_format", 118 "//third_party/abseil-cpp/absl/algorithm:container", 119 "//third_party/abseil-cpp/absl/types:span", 120 ] 121 } 122 123 if (!build_with_chromium) { 124 rtc_library("bwe_rtp") { 125 testonly = true 126 sources = [ 127 "tools/bwe_rtp.cc", 128 "tools/bwe_rtp.h", 129 ] 130 deps = [ 131 "../../test:rtp_test_utils", 132 "../rtp_rtcp:rtp_rtcp_format", 133 "//third_party/abseil-cpp/absl/flags:flag", 134 "//third_party/abseil-cpp/absl/flags:parse", 135 ] 136 } 137 138 rtc_executable("rtp_to_text") { 139 testonly = true 140 sources = [ "tools/rtp_to_text.cc" ] 141 deps = [ 142 ":bwe_rtp", 143 "../../rtc_base:macromagic", 144 "../../rtc_base:stringutils", 145 "../../test:rtp_test_utils", 146 "../rtp_rtcp:rtp_rtcp_format", 147 ] 148 } 149 } 150 151 if (rtc_include_tests) { 152 rtc_library("remote_bitrate_estimator_unittests") { 153 testonly = true 154 155 sources = [ 156 "aimd_rate_control_unittest.cc", 157 "congestion_control_feedback_generator_unittest.cc", 158 "congestion_control_feedback_tracker_unittest.cc", 159 "inter_arrival_unittest.cc", 160 "overuse_detector_unittest.cc", 161 "packet_arrival_map_test.cc", 162 "remote_bitrate_estimator_abs_send_time_unittest.cc", 163 "remote_bitrate_estimator_single_stream_unittest.cc", 164 "remote_bitrate_estimator_unittest_helper.cc", 165 "remote_bitrate_estimator_unittest_helper.h", 166 "transport_sequence_number_feedback_generator_unittest.cc", 167 ] 168 deps = [ 169 ":congestion_control_feedback_generator", 170 ":remote_bitrate_estimator", 171 ":transport_sequence_number_feedback_generator", 172 "..:module_api_public", 173 "../../api:field_trials", 174 "../../api:rtp_headers", 175 "../../api/environment:environment_factory", 176 "../../api/transport:bandwidth_usage", 177 "../../api/transport:ecn_marking", 178 "../../api/transport:mock_network_control", 179 "../../api/transport:network_control", 180 "../../api/units:data_rate", 181 "../../api/units:data_size", 182 "../../api/units:time_delta", 183 "../../api/units:timestamp", 184 "../../rtc_base:buffer", 185 "../../rtc_base:checks", 186 "../../rtc_base:logging", 187 "../../rtc_base:random", 188 "../../system_wrappers", 189 "../../test:create_test_field_trials", 190 "../../test:fileutils", 191 "../../test:test_support", 192 "../pacing", 193 "../rtp_rtcp:rtp_rtcp_format", 194 ] 195 } 196 }