blob: 554a83c966d59e0fcf29eba9f9f746d9bec72bee [file] [log] [blame]
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +01001# 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
11config("bwe_test_logging") {
12 if (rtc_enable_bwe_test_logging) {
13 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
14 } else {
15 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
16 }
17}
18
19rtc_static_library("goog_cc") {
20 configs += [ ":bwe_test_logging" ]
21 sources = [
22 "alr_detector.cc",
23 "alr_detector.h",
24 "goog_cc_factory.cc",
25 "goog_cc_network_control.cc",
26 "goog_cc_network_control.h",
27 "include/goog_cc_factory.h",
28 "probe_controller.cc",
29 "probe_controller.h",
30 ]
31
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010032 if (!build_with_chromium && is_clang) {
33 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
34 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
35 }
36
37 deps = [
38 ":delay_based_bwe",
39 ":estimators",
40 "../..:module_api",
41 "../../..:webrtc_common",
42 "../../../:typedefs",
Sebastian Janssonc6c44262018-05-09 10:33:39 +020043 "../../../api/transport:network_control",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010044 "../../../logging:rtc_event_log_api",
45 "../../../logging:rtc_event_pacing",
46 "../../../rtc_base:checks",
47 "../../../rtc_base:rtc_base_approved",
48 "../../../rtc_base/experiments:alr_experiment",
49 "../../../system_wrappers",
50 "../../../system_wrappers:field_trial_api",
51 "../../../system_wrappers:metrics_api",
52 "../../bitrate_controller",
53 "../../pacing",
54 "../../remote_bitrate_estimator",
55 "../../rtp_rtcp:rtp_rtcp_format",
Danil Chapovalov0040b662018-06-18 10:48:16 +020056 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010057 ]
58}
59
60rtc_source_set("estimators") {
61 configs += [ ":bwe_test_logging" ]
62 sources = [
63 "acknowledged_bitrate_estimator.cc",
64 "acknowledged_bitrate_estimator.h",
65 "bitrate_estimator.cc",
66 "bitrate_estimator.h",
67 "delay_increase_detector_interface.h",
68 "median_slope_estimator.cc",
69 "median_slope_estimator.h",
70 "probe_bitrate_estimator.cc",
71 "probe_bitrate_estimator.h",
72 "trendline_estimator.cc",
73 "trendline_estimator.h",
74 ]
75
76 # TODO(jschuh): Bug 1348: fix this warning.
77 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
78
79 if (!build_with_chromium && is_clang) {
80 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
81 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
82 }
83
84 deps = [
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010085 "../../../logging:rtc_event_bwe",
86 "../../../logging:rtc_event_log_api",
87 "../../../rtc_base:checks",
88 "../../../rtc_base:rtc_base_approved",
89 "../../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +010090 "../../../rtc_base:safe_minmax",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010091 "../../../system_wrappers:field_trial_api",
92 "../../../system_wrappers:metrics_api",
93 "../../remote_bitrate_estimator",
94 "../../rtp_rtcp:rtp_rtcp_format",
Danil Chapovalov0040b662018-06-18 10:48:16 +020095 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010096 ]
97}
98
99rtc_source_set("delay_based_bwe") {
100 configs += [ ":bwe_test_logging" ]
101 sources = [
102 "delay_based_bwe.cc",
103 "delay_based_bwe.h",
104 ]
105
106 deps = [
107 ":estimators",
108 "../../../:typedefs",
109 "../../../logging:rtc_event_bwe",
110 "../../../logging:rtc_event_log_api",
111 "../../../rtc_base:checks",
112 "../../../rtc_base:rtc_base_approved",
113 "../../../system_wrappers:field_trial_api",
114 "../../../system_wrappers:metrics_api",
115 "../../pacing",
116 "../../remote_bitrate_estimator",
117 ]
118
119 if (!build_with_chromium && is_clang) {
120 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
121 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
122 }
123}
124
125if (rtc_include_tests) {
126 rtc_source_set("goog_cc_unittests") {
127 testonly = true
128
129 sources = [
130 "acknowledged_bitrate_estimator_unittest.cc",
131 "alr_detector_unittest.cc",
132 "delay_based_bwe_unittest.cc",
133 "delay_based_bwe_unittest_helper.cc",
134 "delay_based_bwe_unittest_helper.h",
135 "median_slope_estimator_unittest.cc",
136 "probe_bitrate_estimator_unittest.cc",
137 "probe_controller_unittest.cc",
138 "trendline_estimator_unittest.cc",
139 ]
140 deps = [
141 ":delay_based_bwe",
142 ":estimators",
143 ":goog_cc",
Sebastian Janssonc6c44262018-05-09 10:33:39 +0200144 "../../../api/transport:network_control",
145 "../../../api/transport:network_control_test",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100146 "../../../rtc_base:checks",
147 "../../../rtc_base:rtc_base_approved",
148 "../../../rtc_base:rtc_base_tests_utils",
149 "../../../rtc_base/experiments:alr_experiment",
150 "../../../system_wrappers",
151 "../../../test:field_trial",
152 "../../../test:test_support",
153 "../../pacing",
154 "../../remote_bitrate_estimator",
155 "../../rtp_rtcp:rtp_rtcp_format",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100156 "//testing/gmock",
157 ]
158 if (!build_with_chromium && is_clang) {
159 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
160 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
161 }
162 }
163}