blob: 706d502b213577e0eb16732ad0ef9647c73fbdad [file] [log] [blame]
Peter Boströmbf9f73c2015-09-25 11:58:301# Copyright (c) 2015 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
mbonadei90cc2a92017-01-24 14:58:229import("../webrtc.gni")
Peter Boströmbf9f73c2015-09-25 11:58:3010
ossu31212ba2016-12-07 12:52:5811rtc_source_set("call_interfaces") {
12 sources = [
13 "audio_receive_stream.h",
14 "audio_send_stream.cc",
15 "audio_send_stream.h",
16 "audio_state.h",
17 "call.h",
zhihuangf91805c2017-06-15 19:52:3218 "callfactoryinterface.h",
brandtr02a64312016-12-19 09:13:4619 "flexfec_receive_stream.h",
solenberg9551ae02017-01-31 11:58:4020 "syncable.cc",
21 "syncable.h",
ossu31212ba2016-12-07 12:52:5822 ]
kjellander388c1df2017-02-27 23:57:4523 deps = [
nisse2d1de822017-06-01 11:02:3524 ":rtp_interfaces",
aleloif0c86c02017-08-22 12:43:2325 ":video_stream_api",
kjellander388c1df2017-02-27 23:57:4526 "..:webrtc_common",
27 "../api:audio_mixer_api",
hbos69579d72017-04-10 14:39:0528 "../api:libjingle_peerconnection_api",
kwiberg5b189672017-09-05 15:43:1329 "../api:optional",
kjellander388c1df2017-02-27 23:57:4530 "../api:transport_api",
31 "../api/audio_codecs:audio_codecs_api",
ehmaldonado2bc62f32017-07-19 17:40:4732 "../rtc_base:rtc_base",
33 "../rtc_base:rtc_base_approved",
kjellander388c1df2017-02-27 23:57:4534 ]
ossu31212ba2016-12-07 12:52:5835}
36
nisse2d1de822017-06-01 11:02:3537# TODO(nisse): These RTP targets should be moved elsewhere
eladalon5fb3e752017-07-28 17:05:4538# when interfaces have stabilized. See also TODO for |mock_rtp_interfaces|.
nisse2d1de822017-06-01 11:02:3539rtc_source_set("rtp_interfaces") {
40 sources = [
eladalon9ae9fd92017-06-26 18:23:5441 "rtcp_packet_sink_interface.h",
Stefan Holmer36189cd2017-09-01 13:29:2842 "rtp_config.cc",
43 "rtp_config.h",
nisse2d1de822017-06-01 11:02:3544 "rtp_packet_sink_interface.h",
nisse04ef6b02017-06-21 08:05:2245 "rtp_stream_receiver_controller_interface.h",
nisse2d1de822017-06-01 11:02:3546 "rtp_transport_controller_send_interface.h",
47 ]
eladalon9ae9fd92017-06-26 18:23:5448 deps = [
kwiberg23aa43d2017-09-04 12:43:1749 "../api:array_view",
ehmaldonado2bc62f32017-07-19 17:40:4750 "../rtc_base:rtc_base_approved",
eladalon9ae9fd92017-06-26 18:23:5451 ]
nisse2d1de822017-06-01 11:02:3552}
53
54rtc_source_set("rtp_receiver") {
55 sources = [
eladalon9ae9fd92017-06-26 18:23:5456 "rtcp_demuxer.cc",
57 "rtcp_demuxer.h",
nisse2d1de822017-06-01 11:02:3558 "rtp_demuxer.cc",
59 "rtp_demuxer.h",
eladalon9ae9fd92017-06-26 18:23:5460 "rtp_rtcp_demuxer_helper.cc",
61 "rtp_rtcp_demuxer_helper.h",
nisse04ef6b02017-06-21 08:05:2262 "rtp_stream_receiver_controller.cc",
63 "rtp_stream_receiver_controller.h",
nisse2d1de822017-06-01 11:02:3564 "rtx_receive_stream.cc",
65 "rtx_receive_stream.h",
Steve Anton6f7363f2017-08-17 22:23:5166 "ssrc_binding_observer.h",
nisse2d1de822017-06-01 11:02:3567 ]
68 deps = [
69 ":rtp_interfaces",
eladalon9ae9fd92017-06-26 18:23:5470 "..:webrtc_common",
kwiberg23aa43d2017-09-04 12:43:1771 "../api:array_view",
kwiberg5b189672017-09-05 15:43:1372 "../api:optional",
nisse2d1de822017-06-01 11:02:3573 "../modules/rtp_rtcp",
ehmaldonado2bc62f32017-07-19 17:40:4774 "../rtc_base:rtc_base_approved",
nisse2d1de822017-06-01 11:02:3575 ]
76}
77
78rtc_source_set("rtp_sender") {
79 sources = [
80 "rtp_transport_controller_send.cc",
81 "rtp_transport_controller_send.h",
82 ]
83 deps = [
84 ":rtp_interfaces",
sprang6ab33cf2017-08-09 13:42:3285 "..:webrtc_common",
nisse2d1de822017-06-01 11:02:3586 "../modules/congestion_controller",
ehmaldonado2bc62f32017-07-19 17:40:4787 "../rtc_base:rtc_base_approved",
nisse2d1de822017-06-01 11:02:3588 ]
89}
90
kjellander2cf29b52016-09-23 07:38:5291rtc_static_library("call") {
Peter Boströmbf9f73c2015-09-25 11:58:3092 sources = [
mflodman1b78cc32015-11-13 05:02:4293 "bitrate_allocator.cc",
Peter Boströmbf9f73c2015-09-25 11:58:3094 "call.cc",
zhihuangf91805c2017-06-15 19:52:3295 "callfactory.cc",
96 "callfactory.h",
brandtr02a64312016-12-19 09:13:4697 "flexfec_receive_stream_impl.cc",
98 "flexfec_receive_stream_impl.h",
Peter Boströmbf9f73c2015-09-25 11:58:3099 ]
100
kjellandera6c66232016-10-17 06:56:12101 if (!build_with_chromium && is_clang) {
102 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonadof0532f32016-09-02 11:10:34103 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
Peter Boströmbf9f73c2015-09-25 11:58:30104 }
105
aleloi7713f332016-11-17 14:28:59106 public_deps = [
ossu31212ba2016-12-07 12:52:58107 ":call_interfaces",
aleloi7713f332016-11-17 14:28:59108 "../api:call_api",
Stefan Holmer36189cd2017-09-01 13:29:28109 "../api:libjingle_peerconnection_api",
aleloi7713f332016-11-17 14:28:59110 ]
111
Peter Boströmbf9f73c2015-09-25 11:58:30112 deps = [
ossu31212ba2016-12-07 12:52:58113 ":call_interfaces",
nisse2d1de822017-06-01 11:02:35114 ":rtp_interfaces",
115 ":rtp_receiver",
116 ":rtp_sender",
Stefan Holmer36189cd2017-09-01 13:29:28117 ":video_stream_api",
Peter Boströmbf9f73c2015-09-25 11:58:30118 "..:webrtc_common",
kwiberg5b189672017-09-05 15:43:13119 "../api:optional",
aleloi017ebe52016-11-28 15:02:13120 "../api:transport_api",
katrielceaeea5b2016-06-03 20:14:28121 "../audio",
kjellander388c1df2017-02-27 23:57:45122 "../logging:rtc_event_log_api",
skvlade59b6ff2016-10-04 01:31:22123 "../logging:rtc_event_log_impl",
kjellander388c1df2017-02-27 23:57:45124 "../modules/bitrate_controller",
Stefan Holmeread3cf22016-02-23 12:30:42125 "../modules/congestion_controller",
kjellander388c1df2017-02-27 23:57:45126 "../modules/pacing",
Peter Boströmbf9f73c2015-09-25 11:58:30127 "../modules/rtp_rtcp",
kjellander388c1df2017-02-27 23:57:45128 "../modules/utility",
mbonadeic205a942017-08-28 06:40:10129 "../rtc_base:rtc_base_approved",
ehmaldonado2bc62f32017-07-19 17:40:47130 "../rtc_base:rtc_task_queue",
eladalon8c7e2bd2017-08-18 09:47:08131 "../rtc_base:sequenced_task_checker",
Peter Boströmbf9f73c2015-09-25 11:58:30132 "../system_wrappers",
katrielceaeea5b2016-06-03 20:14:28133 "../video",
Peter Boströmbf9f73c2015-09-25 11:58:30134 ]
135}
Peter Boströmc9da01c2016-06-14 10:52:54136
aleloif0c86c02017-08-22 12:43:23137rtc_source_set("video_stream_api") {
138 sources = [
Stefan Holmer36189cd2017-09-01 13:29:28139 "video_config.cc",
140 "video_config.h",
aleloif0c86c02017-08-22 12:43:23141 "video_receive_stream.cc",
142 "video_receive_stream.h",
143 "video_send_stream.cc",
144 "video_send_stream.h",
145 ]
146 deps = [
Stefan Holmer36189cd2017-09-01 13:29:28147 ":rtp_interfaces",
aleloif0c86c02017-08-22 12:43:23148 "../:webrtc_common",
Stefan Holmer36189cd2017-09-01 13:29:28149 "../api:libjingle_peerconnection_api",
kwiberg5b189672017-09-05 15:43:13150 "../api:optional",
aleloif0c86c02017-08-22 12:43:23151 "../api:transport_api",
152 "../common_video:common_video",
153 "../rtc_base:rtc_base_approved",
154 ]
155}
156
Peter Boströmc9da01c2016-06-14 10:52:54157if (rtc_include_tests) {
ehmaldonadof0532f32016-09-02 11:10:34158 rtc_source_set("call_tests") {
Peter Boströmc9da01c2016-06-14 10:52:54159 testonly = true
kjellander9cdb5382017-04-25 11:04:50160
161 # Skip restricting visibility on mobile platforms since the tests on those
162 # gets additional generated targets which would require many lines here to
163 # cover (which would be confusing to read and hard to maintain).
164 if (!is_android && !is_ios) {
jianjun.zhu59d55752017-07-11 13:20:45165 visibility = [ "..:video_engine_tests" ]
kjellander9cdb5382017-04-25 11:04:50166 }
Peter Boströmc9da01c2016-06-14 10:52:54167 sources = [
168 "bitrate_allocator_unittest.cc",
169 "bitrate_estimator_tests.cc",
170 "call_unittest.cc",
brandtr4e974392016-10-20 11:54:48171 "flexfec_receive_stream_unittest.cc",
eladalon9ae9fd92017-06-26 18:23:54172 "rtcp_demuxer_unittest.cc",
eladalonbaa253b2017-05-31 16:12:25173 "rtp_demuxer_unittest.cc",
eladalon9ae9fd92017-06-26 18:23:54174 "rtp_rtcp_demuxer_helper_unittest.cc",
nisse002b5332017-05-19 13:15:19175 "rtx_receive_stream_unittest.cc",
Peter Boströmc9da01c2016-06-14 10:52:54176 ]
177 deps = [
178 ":call",
eladalon5fb3e752017-07-28 17:05:45179 ":mock_rtp_interfaces",
nisse2d1de822017-06-01 11:02:35180 ":rtp_interfaces",
181 ":rtp_receiver",
182 ":rtp_sender",
eladalon9ae9fd92017-06-26 18:23:54183 "..:webrtc_common",
kwiberg23aa43d2017-09-04 12:43:17184 "../api:array_view",
ossu30fa6322017-05-23 13:07:11185 "../api:mock_audio_mixer",
kjellander388c1df2017-02-27 23:57:45186 "../logging:rtc_event_log_api",
aleloi7713f332016-11-17 14:28:59187 "../modules/audio_device:mock_audio_device",
aleloid85b51d2016-11-17 14:48:48188 "../modules/audio_mixer",
kjellander388c1df2017-02-27 23:57:45189 "../modules/bitrate_controller",
zstein29a1f8c2017-05-08 18:52:38190 "../modules/congestion_controller:mock_congestion_controller",
kjellander388c1df2017-02-27 23:57:45191 "../modules/pacing",
mbonadei61991382017-09-04 11:57:11192 "../modules/pacing:mock_paced_sender",
kjellander388c1df2017-02-27 23:57:45193 "../modules/rtp_rtcp",
danilchapcd2f0802017-05-10 15:41:13194 "../modules/rtp_rtcp:mock_rtp_rtcp",
mbonadei92bdb642017-08-03 12:57:11195 "../modules/utility:mock_process_thread",
ehmaldonado2bc62f32017-07-19 17:40:47196 "../rtc_base:rtc_base_approved",
kjellander388c1df2017-02-27 23:57:45197 "../system_wrappers",
kwibergaf8f6e52017-04-10 12:15:48198 "../test:audio_codec_mocks",
kjellander388c1df2017-02-27 23:57:45199 "../test:direct_transport",
aleloid85b51d2016-11-17 14:48:48200 "../test:test_common",
kjellander388c1df2017-02-27 23:57:45201 "../test:test_support",
202 "../test:video_test_common",
Peter Boströmc9da01c2016-06-14 10:52:54203 "//testing/gmock",
204 "//testing/gtest",
205 ]
kjellandera6c66232016-10-17 06:56:12206 if (!build_with_chromium && is_clang) {
207 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonadof0532f32016-09-02 11:10:34208 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
Peter Boströmc9da01c2016-06-14 10:52:54209 }
210 }
ehmaldonado5445b072017-01-05 15:09:50211
212 rtc_source_set("call_perf_tests") {
213 testonly = true
kjellander9cdb5382017-04-25 11:04:50214
215 # Skip restricting visibility on mobile platforms since the tests on those
216 # gets additional generated targets which would require many lines here to
217 # cover (which would be confusing to read and hard to maintain).
218 if (!is_android && !is_ios) {
jianjun.zhu59d55752017-07-11 13:20:45219 visibility = [ "..:webrtc_perf_tests" ]
kjellander9cdb5382017-04-25 11:04:50220 }
ehmaldonado5445b072017-01-05 15:09:50221 sources = [
222 "call_perf_tests.cc",
223 "rampup_tests.cc",
224 "rampup_tests.h",
225 ]
226 deps = [
kjellander388c1df2017-02-27 23:57:45227 ":call_interfaces",
Stefan Holmer36189cd2017-09-01 13:29:28228 ":video_stream_api",
kjellander388c1df2017-02-27 23:57:45229 "..:webrtc_common",
ossuf26202b2017-05-02 13:46:30230 "../api/audio_codecs:builtin_audio_encoder_factory",
kjellander388c1df2017-02-27 23:57:45231 "../logging:rtc_event_log_api",
232 "../modules/audio_coding",
233 "../modules/audio_mixer:audio_mixer_impl",
234 "../modules/rtp_rtcp",
ehmaldonado2bc62f32017-07-19 17:40:47235 "../rtc_base:rtc_base_approved",
kjellander388c1df2017-02-27 23:57:45236 "../system_wrappers",
237 "../system_wrappers:metrics_default",
238 "../test:direct_transport",
perkjb8808842017-02-28 22:41:05239 "../test:fake_audio_device",
jianjun.zhu59d55752017-07-11 13:20:45240 "../test:field_trial",
241 "../test:test_common",
kjellander388c1df2017-02-27 23:57:45242 "../test:test_support",
243 "../test:video_test_common",
244 "../video",
245 "../voice_engine",
ehmaldonado5445b072017-01-05 15:09:50246 "//testing/gtest",
ehmaldonado5445b072017-01-05 15:09:50247 ]
248 if (!build_with_chromium && is_clang) {
249 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
250 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
251 }
252 }
eladalon5fb3e752017-07-28 17:05:45253
254 # TODO(eladalon): This should be moved, as with the TODO for |rtp_interfaces|.
255 rtc_source_set("mock_rtp_interfaces") {
256 testonly = true
257
258 sources = [
259 "test/mock_rtp_packet_sink_interface.h",
260 ]
261 deps = [
262 ":rtp_interfaces",
263 "../test:test_support",
264 "//testing/gmock",
265 ]
266 }
Peter Boströmc9da01c2016-06-14 10:52:54267}