kjellander@webrtc.org | 1227ab8 | 2014-06-23 19:21:07 | [diff] [blame] | 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 | |
mbonadei | 9aa3f0a | 2017-01-24 14:58:22 | [diff] [blame] | 9 | import("../webrtc.gni") |
kjellander@webrtc.org | 1227ab8 | 2014-06-23 19:21:07 | [diff] [blame] | 10 | |
kjellander | b62dbbe | 2016-09-23 07:38:52 | [diff] [blame] | 11 | rtc_static_library("video") { |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 | [diff] [blame] | 12 | sources = [ |
Peter Boström | 7623ce4 | 2015-12-09 11:13:30 | [diff] [blame] | 13 | "call_stats.cc", |
| 14 | "call_stats.h", |
mflodman | 15d8357 | 2016-10-06 15:35:11 | [diff] [blame] | 15 | "encoder_rtcp_feedback.cc", |
| 16 | "encoder_rtcp_feedback.h", |
Peter Boström | 7623ce4 | 2015-12-09 11:13:30 | [diff] [blame] | 17 | "overuse_frame_detector.cc", |
| 18 | "overuse_frame_detector.h", |
| 19 | "payload_router.cc", |
| 20 | "payload_router.h", |
palmkvist | 349092b | 2016-12-13 10:45:57 | [diff] [blame] | 21 | "quality_threshold.cc", |
| 22 | "quality_threshold.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 | [diff] [blame] | 23 | "receive_statistics_proxy.cc", |
| 24 | "receive_statistics_proxy.h", |
Peter Boström | 7623ce4 | 2015-12-09 11:13:30 | [diff] [blame] | 25 | "report_block_stats.cc", |
| 26 | "report_block_stats.h", |
mflodman | fa66659 | 2016-04-29 06:15:33 | [diff] [blame] | 27 | "rtp_stream_receiver.cc", |
| 28 | "rtp_stream_receiver.h", |
mflodman | 4cd2790 | 2016-08-05 13:28:45 | [diff] [blame] | 29 | "rtp_streams_synchronizer.cc", |
| 30 | "rtp_streams_synchronizer.h", |
asapersson | 35151f3 | 2016-05-03 06:44:01 | [diff] [blame] | 31 | "send_delay_stats.cc", |
| 32 | "send_delay_stats.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 | [diff] [blame] | 33 | "send_statistics_proxy.cc", |
| 34 | "send_statistics_proxy.h", |
asapersson | 0e9d6d9 | 2016-05-23 13:07:55 | [diff] [blame] | 35 | "stats_counter.cc", |
| 36 | "stats_counter.h", |
Peter Boström | 7623ce4 | 2015-12-09 11:13:30 | [diff] [blame] | 37 | "stream_synchronization.cc", |
| 38 | "stream_synchronization.h", |
charujain | bf6a45b | 2016-11-03 11:21:42 | [diff] [blame] | 39 | "transport_adapter.cc", |
| 40 | "transport_adapter.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 | [diff] [blame] | 41 | "video_receive_stream.cc", |
| 42 | "video_receive_stream.h", |
| 43 | "video_send_stream.cc", |
| 44 | "video_send_stream.h", |
mflodman | cfc8e3b | 2016-05-04 04:22:04 | [diff] [blame] | 45 | "video_stream_decoder.cc", |
| 46 | "video_stream_decoder.h", |
Peter Boström | 7623ce4 | 2015-12-09 11:13:30 | [diff] [blame] | 47 | "vie_encoder.cc", |
| 48 | "vie_encoder.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 | [diff] [blame] | 49 | ] |
| 50 | |
kjellander | e40a7ee | 2016-10-17 06:56:12 | [diff] [blame] | 51 | if (!build_with_chromium && is_clang) { |
| 52 | # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
ehmaldonado | 38a2132 | 2016-09-02 11:10:34 | [diff] [blame] | 53 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 | [diff] [blame] | 54 | } |
| 55 | |
kwiberg@webrtc.org | ac2d27d | 2015-02-26 13:59:22 | [diff] [blame] | 56 | deps = [ |
mbonadei | 81c79f5 | 2017-04-26 06:42:15 | [diff] [blame] | 57 | "..:video_stream_api", |
kwiberg@webrtc.org | ac2d27d | 2015-02-26 13:59:22 | [diff] [blame] | 58 | "..:webrtc_common", |
aleloi | a8eb756 | 2016-11-28 15:02:13 | [diff] [blame] | 59 | "../api:transport_api", |
ilnik | d60d06a | 2017-04-05 10:02:20 | [diff] [blame] | 60 | "../api/video_codecs:video_codecs_api", |
kjellander@webrtc.org | 7ffeab5 | 2016-02-26 21:46:09 | [diff] [blame] | 61 | "../base:rtc_base_approved", |
terelius | bc5d921 | 2017-01-13 17:14:33 | [diff] [blame] | 62 | "../base:rtc_numerics", |
perkj | 26091b1 | 2016-09-01 08:17:40 | [diff] [blame] | 63 | "../base:rtc_task_queue", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 64 | "../call:call_interfaces", |
Peter Boström | 2ee2439 | 2015-06-22 05:57:16 | [diff] [blame] | 65 | "../common_video", |
skvlad | cc91d28 | 2016-10-04 01:31:22 | [diff] [blame] | 66 | "../logging:rtc_event_log_api", |
philipel | 022b54e | 2016-12-20 12:15:59 | [diff] [blame] | 67 | "../media:rtc_media_base", |
mbonadei | 1140f97 | 2017-04-26 10:38:35 | [diff] [blame^] | 68 | "../modules:module_api", |
Peter Boström | 2ee2439 | 2015-06-22 05:57:16 | [diff] [blame] | 69 | "../modules/bitrate_controller", |
kjellander@webrtc.org | 7ffeab5 | 2016-02-26 21:46:09 | [diff] [blame] | 70 | "../modules/congestion_controller", |
sprang | ebbf8a8 | 2015-09-21 22:11:14 | [diff] [blame] | 71 | "../modules/pacing", |
kjellander@webrtc.org | 7ffeab5 | 2016-02-26 21:46:09 | [diff] [blame] | 72 | "../modules/remote_bitrate_estimator", |
Peter Boström | 2ee2439 | 2015-06-22 05:57:16 | [diff] [blame] | 73 | "../modules/rtp_rtcp", |
| 74 | "../modules/utility", |
Peter Boström | 2ee2439 | 2015-06-22 05:57:16 | [diff] [blame] | 75 | "../modules/video_coding", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 76 | "../modules/video_coding:video_coding_utility", |
| 77 | "../modules/video_coding:webrtc_vp8", |
Peter Boström | 2ee2439 | 2015-06-22 05:57:16 | [diff] [blame] | 78 | "../modules/video_processing", |
kjellander | 8237abf | 2015-12-08 15:12:06 | [diff] [blame] | 79 | "../system_wrappers", |
Peter Boström | 7623ce4 | 2015-12-09 11:13:30 | [diff] [blame] | 80 | "../voice_engine", |
kwiberg@webrtc.org | ac2d27d | 2015-02-26 13:59:22 | [diff] [blame] | 81 | ] |
kjellander@webrtc.org | 1227ab8 | 2014-06-23 19:21:07 | [diff] [blame] | 82 | } |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 83 | |
| 84 | if (rtc_include_tests) { |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 85 | rtc_source_set("video_quality_test") { |
| 86 | testonly = true |
kjellander | e0629c0 | 2017-04-25 11:04:50 | [diff] [blame] | 87 | visibility = [ ":*" ] # Only targets in this file can depend on this. |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 88 | sources = [ |
| 89 | "video_quality_test.cc", |
| 90 | "video_quality_test.h", |
| 91 | ] |
| 92 | deps = [ |
ilnik | df92c5c | 2017-02-23 10:08:44 | [diff] [blame] | 93 | "../base:rtc_base_tests_utils", |
brandtr | 696c9c6 | 2016-12-19 13:47:28 | [diff] [blame] | 94 | "../base:rtc_task_queue", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 95 | "../call:call_interfaces", |
| 96 | "../common_video", |
| 97 | "../logging:rtc_event_log_api", |
magjed | ceecea4 | 2016-11-28 15:20:21 | [diff] [blame] | 98 | "../media:rtc_media_base", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 99 | "../modules/audio_mixer:audio_mixer_impl", |
| 100 | "../modules/rtp_rtcp", |
| 101 | "../modules/video_coding:webrtc_h264", |
| 102 | "../modules/video_coding:webrtc_vp8", |
| 103 | "../modules/video_coding:webrtc_vp9", |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 104 | "../system_wrappers", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 105 | "../test:test_common", |
| 106 | "../test:test_support", |
| 107 | "../voice_engine", |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 108 | "//testing/gtest", |
ehmaldonado | 021eef3 | 2017-01-05 15:09:50 | [diff] [blame] | 109 | "//webrtc/test:test_renderer", |
perkj | c5726c1 | 2017-03-01 11:37:08 | [diff] [blame] | 110 | "//webrtc/test:video_test_common", |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 111 | ] |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 112 | if (!build_with_chromium && is_clang) { |
| 113 | # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| 114 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 115 | } |
| 116 | } |
| 117 | |
ehmaldonado | 021eef3 | 2017-01-05 15:09:50 | [diff] [blame] | 118 | rtc_source_set("video_full_stack_tests") { |
| 119 | testonly = true |
kjellander | e0629c0 | 2017-04-25 11:04:50 | [diff] [blame] | 120 | |
| 121 | # Skip restricting visibility on mobile platforms since the tests on those |
| 122 | # gets additional generated targets which would require many lines here to |
| 123 | # cover (which would be confusing to read and hard to maintain). |
| 124 | if (!is_android && !is_ios) { |
| 125 | visibility = [ "//webrtc:webrtc_perf_tests" ] |
| 126 | } |
ehmaldonado | 021eef3 | 2017-01-05 15:09:50 | [diff] [blame] | 127 | sources = [ |
| 128 | "full_stack_tests.cc", |
| 129 | ] |
| 130 | deps = [ |
| 131 | ":video_quality_test", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 132 | "../test:field_trial", |
| 133 | "../test:test_support", |
ehmaldonado | 021eef3 | 2017-01-05 15:09:50 | [diff] [blame] | 134 | "//testing/gtest", |
| 135 | "//webrtc/test:test_common", |
| 136 | ] |
| 137 | if (!build_with_chromium && is_clang) { |
| 138 | # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| 139 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 140 | } |
| 141 | if (rtc_use_h264) { |
| 142 | defines = [ "WEBRTC_USE_H264" ] |
| 143 | } |
| 144 | } |
| 145 | |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 146 | rtc_executable("video_loopback") { |
| 147 | testonly = true |
| 148 | sources = [ |
| 149 | "video_loopback.cc", |
| 150 | ] |
| 151 | deps = [ |
| 152 | ":video_quality_test", |
| 153 | "../system_wrappers:metrics_default", |
| 154 | "../test:field_trial", |
| 155 | "../test:run_test", |
| 156 | "../test:test_common", |
| 157 | "../test:test_renderer", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 158 | "../test:test_support", |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 159 | "//testing/gmock", |
| 160 | "//testing/gtest", |
| 161 | "//third_party/gflags", |
| 162 | ] |
| 163 | if (!build_with_chromium && is_clang) { |
| 164 | # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| 165 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | rtc_executable("screenshare_loopback") { |
| 170 | testonly = true |
| 171 | sources = [ |
| 172 | "screenshare_loopback.cc", |
| 173 | ] |
| 174 | |
| 175 | deps = [ |
| 176 | ":video_quality_test", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 177 | "../base:rtc_base_approved", |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 178 | "../system_wrappers:metrics_default", |
| 179 | "../test:field_trial", |
| 180 | "../test:run_test", |
| 181 | "../test:test_common", |
| 182 | "../test:test_renderer", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 183 | "../test:test_support", |
kjellander | a3cac05 | 2016-10-24 08:52:39 | [diff] [blame] | 184 | "//third_party/gflags", |
| 185 | ] |
| 186 | if (!build_with_chromium && is_clang) { |
| 187 | # Suppress warnings from Chrome's Clang plugins. |
| 188 | # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| 189 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 190 | } |
| 191 | } |
| 192 | |
stefan | 64427e5 | 2016-12-20 15:26:58 | [diff] [blame] | 193 | rtc_executable("video_replay") { |
| 194 | testonly = true |
| 195 | sources = [ |
| 196 | "replay.cc", |
| 197 | ] |
| 198 | deps = [ |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 199 | "..:webrtc_common", |
ilnik | d60d06a | 2017-04-05 10:02:20 | [diff] [blame] | 200 | "../api/video_codecs:video_codecs_api", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 201 | "../base:rtc_base_approved", |
| 202 | "../call:call_interfaces", |
| 203 | "../common_video", |
| 204 | "../logging:rtc_event_log_api", |
| 205 | "../modules/rtp_rtcp", |
| 206 | "../system_wrappers", |
stefan | 64427e5 | 2016-12-20 15:26:58 | [diff] [blame] | 207 | "../system_wrappers:metrics_default", |
| 208 | "../test:field_trial", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 209 | "../test:rtp_test_utils", |
stefan | 64427e5 | 2016-12-20 15:26:58 | [diff] [blame] | 210 | "../test:run_test", |
| 211 | "../test:test_common", |
| 212 | "../test:test_renderer", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 213 | "../test:test_support", |
| 214 | "../test:video_test_common", |
stefan | 64427e5 | 2016-12-20 15:26:58 | [diff] [blame] | 215 | "//third_party/gflags", |
| 216 | ] |
stefan | 64427e5 | 2016-12-20 15:26:58 | [diff] [blame] | 217 | if (!build_with_chromium && is_clang) { |
| 218 | # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| 219 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 220 | } |
| 221 | } |
| 222 | |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 223 | # TODO(pbos): Rename test suite. |
ehmaldonado | 38a2132 | 2016-09-02 11:10:34 | [diff] [blame] | 224 | rtc_source_set("video_tests") { |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 225 | testonly = true |
kjellander | e0629c0 | 2017-04-25 11:04:50 | [diff] [blame] | 226 | |
| 227 | # Skip restricting visibility on mobile platforms since the tests on those |
| 228 | # gets additional generated targets which would require many lines here to |
| 229 | # cover (which would be confusing to read and hard to maintain). |
| 230 | if (!is_android && !is_ios) { |
| 231 | visibility = [ "//webrtc:video_engine_tests" ] |
| 232 | } |
hta | 9aa9688 | 2016-12-06 13:36:03 | [diff] [blame] | 233 | defines = [] |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 234 | sources = [ |
| 235 | "call_stats_unittest.cc", |
mflodman | 15d8357 | 2016-10-06 15:35:11 | [diff] [blame] | 236 | "encoder_rtcp_feedback_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 237 | "end_to_end_tests.cc", |
| 238 | "overuse_frame_detector_unittest.cc", |
| 239 | "payload_router_unittest.cc", |
palmkvist | 349092b | 2016-12-13 10:45:57 | [diff] [blame] | 240 | "quality_threshold_unittest.cc", |
sakal | e5ba44e | 2016-10-26 14:09:24 | [diff] [blame] | 241 | "receive_statistics_proxy_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 242 | "report_block_stats_unittest.cc", |
johan | 62d02c3 | 2017-01-24 12:38:27 | [diff] [blame] | 243 | "rtp_stream_receiver_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 244 | "send_delay_stats_unittest.cc", |
| 245 | "send_statistics_proxy_unittest.cc", |
| 246 | "stats_counter_unittest.cc", |
| 247 | "stream_synchronization_unittest.cc", |
johan | f2183ff | 2017-02-28 09:33:09 | [diff] [blame] | 248 | "video_receive_stream_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 249 | "video_send_stream_tests.cc", |
perkj | 26091b1 | 2016-09-01 08:17:40 | [diff] [blame] | 250 | "vie_encoder_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 251 | ] |
| 252 | deps = [ |
| 253 | ":video", |
mbonadei | 81c79f5 | 2017-04-26 06:42:15 | [diff] [blame] | 254 | "..:video_stream_api", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 255 | "../api:video_frame_api", |
| 256 | "../api/video_codecs:video_codecs_api", |
| 257 | "../base:rtc_base_approved", |
| 258 | "../base:rtc_base_tests_utils", |
| 259 | "../call:call_interfaces", |
| 260 | "../common_video", |
| 261 | "../logging:rtc_event_log_api", |
magjed | ceecea4 | 2016-11-28 15:20:21 | [diff] [blame] | 262 | "../media:rtc_media_base", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 263 | "../media:rtc_media_tests_utils", |
mbonadei | 1140f97 | 2017-04-26 10:38:35 | [diff] [blame^] | 264 | "../modules:module_api", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 265 | "../modules/pacing", |
| 266 | "../modules/rtp_rtcp", |
kjellander | e0629c0 | 2017-04-25 11:04:50 | [diff] [blame] | 267 | "../modules/rtp_rtcp:mock_rtp_rtcp", |
mbonadei | 9087d49 | 2017-04-25 07:35:35 | [diff] [blame] | 268 | "../modules/utility", |
| 269 | "../modules/video_coding", |
| 270 | "../modules/video_coding:video_coding_utility", |
| 271 | "../modules/video_coding:webrtc_h264", |
| 272 | "../modules/video_coding:webrtc_vp8", |
| 273 | "../modules/video_coding:webrtc_vp9", |
| 274 | "../system_wrappers", |
| 275 | "../system_wrappers:field_trial_default", |
| 276 | "../system_wrappers:metrics_api", |
| 277 | "../system_wrappers:metrics_default", |
| 278 | "../test:direct_transport", |
| 279 | "../test:field_trial", |
| 280 | "../test:rtp_test_utils", |
| 281 | "../test:test_common", |
| 282 | "../test:test_support", |
| 283 | "../test:video_test_common", |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 284 | "//testing/gmock", |
| 285 | "//testing/gtest", |
| 286 | ] |
kjellander | e40a7ee | 2016-10-17 06:56:12 | [diff] [blame] | 287 | if (!build_with_chromium && is_clang) { |
| 288 | # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
ehmaldonado | 38a2132 | 2016-09-02 11:10:34 | [diff] [blame] | 289 | suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 290 | } |
brandtr | 445fb8f | 2016-11-14 12:11:23 | [diff] [blame] | 291 | if (rtc_use_h264) { |
hta | 9aa9688 | 2016-12-06 13:36:03 | [diff] [blame] | 292 | defines += [ "WEBRTC_USE_H264" ] |
brandtr | 445fb8f | 2016-11-14 12:11:23 | [diff] [blame] | 293 | } |
Peter Boström | 0208322 | 2016-06-14 10:52:54 | [diff] [blame] | 294 | } |
| 295 | } |