blob: ead05e4b3a2e86daf8c9b58e1fd353cb478d033d [file] [log] [blame]
hjonaa32c3e2015-12-13 19:58:11 -08001# 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
9import("../build/webrtc.gni")
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +020010if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
kjellanderc76dc952016-06-03 03:09:32 -070014
15group("api") {
kjellander705ecc52016-09-15 00:53:26 -070016 public_deps = [
kjellanderc76dc952016-06-03 03:09:32 -070017 ":libjingle_peerconnection",
18 ]
kjellander6ceab082016-10-28 05:44:03 -070019 if (is_android && !build_with_chromium) {
20 public_deps += [
21 ":libjingle_peerconnection_java",
22 ":libjingle_peerconnection_so",
23 ]
24 }
kjellanderc76dc952016-06-03 03:09:32 -070025}
26
ehmaldonado38a21322016-09-02 04:10:34 -070027rtc_source_set("call_api") {
kjellandera69d9732016-08-31 07:33:05 -070028 sources = [
29 "call/audio_receive_stream.h",
solenberg940b6d62016-10-25 11:19:07 -070030 "call/audio_send_stream.cc",
kjellandera69d9732016-08-31 07:33:05 -070031 "call/audio_send_stream.h",
32 "call/audio_sink.h",
33 "call/audio_state.h",
brandtr76648da2016-10-20 04:54:48 -070034 "call/flexfec_receive_stream.h",
kjellandera69d9732016-08-31 07:33:05 -070035 ]
36
kjellandera69d9732016-08-31 07:33:05 -070037 deps = [
38 # TODO(kjellander): Add remaining dependencies when webrtc:4243 is done.
aleloi81da4882016-11-08 04:26:30 -080039 ":audio_mixer_api",
kjellandera69d9732016-08-31 07:33:05 -070040 "..:webrtc_common",
41 "../base:rtc_base_approved",
42 "../modules/audio_coding:audio_encoder_interface",
43 ]
44}
45
kjellanderc76dc952016-06-03 03:09:32 -070046config("libjingle_peerconnection_warnings_config") {
47 # GN orders flags on a target before flags from configs. The default config
48 # adds these flags so to cancel them out they need to come from a config and
49 # cannot be on the target directly.
kjellander3e33bfe2016-06-20 07:04:09 -070050 if (!is_win && !is_clang) {
51 cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
kjellanderc76dc952016-06-03 03:09:32 -070052 }
53}
54
kjellanderb62dbbe2016-09-23 00:38:52 -070055rtc_static_library("libjingle_peerconnection") {
kjellanderc76dc952016-06-03 03:09:32 -070056 cflags = []
57 sources = [
58 "audiotrack.cc",
59 "audiotrack.h",
60 "datachannel.cc",
61 "datachannel.h",
62 "datachannelinterface.h",
kjellanderc76dc952016-06-03 03:09:32 -070063 "dtmfsender.cc",
64 "dtmfsender.h",
65 "dtmfsenderinterface.h",
66 "jsep.h",
67 "jsepicecandidate.cc",
68 "jsepicecandidate.h",
69 "jsepsessiondescription.cc",
70 "jsepsessiondescription.h",
71 "localaudiosource.cc",
72 "localaudiosource.h",
73 "mediaconstraintsinterface.cc",
74 "mediaconstraintsinterface.h",
75 "mediacontroller.cc",
76 "mediacontroller.h",
77 "mediastream.cc",
78 "mediastream.h",
79 "mediastreaminterface.h",
80 "mediastreamobserver.cc",
81 "mediastreamobserver.h",
kjellanderc76dc952016-06-03 03:09:32 -070082 "mediastreamproxy.h",
83 "mediastreamtrack.h",
84 "mediastreamtrackproxy.h",
85 "notifier.h",
86 "peerconnection.cc",
87 "peerconnection.h",
88 "peerconnectionfactory.cc",
89 "peerconnectionfactory.h",
90 "peerconnectionfactoryproxy.h",
91 "peerconnectioninterface.h",
92 "peerconnectionproxy.h",
93 "proxy.h",
94 "remoteaudiosource.cc",
95 "remoteaudiosource.h",
hbos74e1a4f2016-09-15 23:33:01 -070096 "rtcstatscollector.cc",
97 "rtcstatscollector.h",
kjellanderc76dc952016-06-03 03:09:32 -070098 "rtpparameters.h",
99 "rtpreceiver.cc",
100 "rtpreceiver.h",
101 "rtpreceiverinterface.h",
102 "rtpsender.cc",
103 "rtpsender.h",
104 "rtpsenderinterface.h",
105 "sctputils.cc",
106 "sctputils.h",
107 "statscollector.cc",
108 "statscollector.h",
109 "statstypes.cc",
110 "statstypes.h",
111 "streamcollection.h",
112 "videocapturertracksource.cc",
113 "videocapturertracksource.h",
114 "videosourceproxy.h",
115 "videotrack.cc",
116 "videotrack.h",
117 "videotracksource.cc",
118 "videotracksource.h",
119 "webrtcsdp.cc",
120 "webrtcsdp.h",
121 "webrtcsession.cc",
122 "webrtcsession.h",
123 "webrtcsessiondescriptionfactory.cc",
124 "webrtcsessiondescriptionfactory.h",
125 ]
126
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700127 configs += [ ":libjingle_peerconnection_warnings_config" ]
kjellanderc76dc952016-06-03 03:09:32 -0700128
kjellandere40a7ee2016-10-16 23:56:12 -0700129 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700130 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700131 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderc76dc952016-06-03 03:09:32 -0700132 }
133
kjellanderc76dc952016-06-03 03:09:32 -0700134 deps = [
kjellandera69d9732016-08-31 07:33:05 -0700135 ":call_api",
hbos74e1a4f2016-09-15 23:33:01 -0700136 ":rtc_stats_api",
katrielc14897d02016-06-03 13:14:28 -0700137 "../call",
kjellanderc76dc952016-06-03 03:09:32 -0700138 "../media",
139 "../pc",
hbos74e1a4f2016-09-15 23:33:01 -0700140 "../stats",
kjellanderc76dc952016-06-03 03:09:32 -0700141 ]
142
143 if (rtc_use_quic) {
144 sources += [
145 "quicdatachannel.cc",
146 "quicdatachannel.h",
147 "quicdatatransport.cc",
148 "quicdatatransport.h",
149 ]
150 deps += [ "//third_party/libquic" ]
151 public_deps = [
152 "//third_party/libquic",
153 ]
154 }
155}
kjellanderfd5b4e92016-06-13 12:08:33 -0700156
kjellander69b34622016-06-21 01:05:16 -0700157# Exclude the targets below from the Chromium build since they cannot be built
158# due to incompability with Chromium's logging implementation.
159if (is_android && !build_with_chromium) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700160 config("libjingle_peerconnection_jni_warnings_config") {
161 # The warnings below are enabled by default. Since GN orders compiler flags
162 # for a target before flags from configs, the only way to disable such
163 # warnings is by having them in a separate config, loaded from the target.
164 if (!is_win) {
165 cflags = [
166 "-Wno-sign-compare",
167 "-Wno-unused-variable",
168 ]
169 }
170 }
171
kjellanderb62dbbe2016-09-23 00:38:52 -0700172 rtc_static_library("libjingle_peerconnection_jni") {
kjellanderfd5b4e92016-06-13 12:08:33 -0700173 sources = [
sakal08be7802016-11-23 07:12:22 -0800174 "android/jni/androidhistogram_jni.cc",
sakald34a7112016-07-01 05:10:51 -0700175 "android/jni/androidmediacodeccommon.h",
176 "android/jni/androidmediadecoder_jni.cc",
177 "android/jni/androidmediadecoder_jni.h",
178 "android/jni/androidmediaencoder_jni.cc",
179 "android/jni/androidmediaencoder_jni.h",
sakald34a7112016-07-01 05:10:51 -0700180 "android/jni/androidnetworkmonitor_jni.cc",
181 "android/jni/androidnetworkmonitor_jni.h",
sakal0ce6aaf2016-11-22 01:26:16 -0800182 "android/jni/androidvideotracksource.cc",
183 "android/jni/androidvideotracksource.h",
Sami Kalliomaki16032122016-07-20 16:13:08 +0200184 "android/jni/androidvideotracksource_jni.cc",
sakald34a7112016-07-01 05:10:51 -0700185 "android/jni/classreferenceholder.cc",
186 "android/jni/classreferenceholder.h",
187 "android/jni/jni_helpers.cc",
188 "android/jni/jni_helpers.h",
189 "android/jni/native_handle_impl.cc",
190 "android/jni/native_handle_impl.h",
191 "android/jni/peerconnection_jni.cc",
192 "android/jni/surfacetexturehelper_jni.cc",
193 "android/jni/surfacetexturehelper_jni.h",
kjellanderfd5b4e92016-06-13 12:08:33 -0700194 ]
195
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700196 configs += [ ":libjingle_peerconnection_jni_warnings_config" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700197
kjellandere40a7ee2016-10-16 23:56:12 -0700198 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700199 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700200 suppressed_configs += [
kjellanderfd5b4e92016-06-13 12:08:33 -0700201 "//build/config/clang:extra_warnings",
202 "//build/config/clang:find_bad_constructs",
203 ]
204 }
205
206 # TODO(jschuh): Bug 1348: fix this warning.
207 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
208
209 if (is_win) {
210 cflags += [
211 "/wd4245", # conversion from "int" to "size_t", signed/unsigned mismatch.
212 "/wd4389", # signed/unsigned mismatch.
213 ]
214 }
215
216 deps = [
217 ":libjingle_peerconnection",
kjellanderfd5b4e92016-06-13 12:08:33 -0700218 ]
219
220 if (rtc_build_libyuv) {
221 deps += [ "$rtc_libyuv_dir" ]
222 public_deps = [
223 "$rtc_libyuv_dir",
224 ]
225 } else {
226 # Need to add a directory normally exported by libyuv.
charujainb7446d72016-09-28 00:47:51 -0700227 include_dirs = [ "$rtc_libyuv_dir/include" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700228 }
229 }
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200230
sakalf7233122016-11-22 01:25:09 -0800231 rtc_static_library("libjingle_peerconnection_metrics_default_jni") {
sakal08be7802016-11-23 07:12:22 -0800232 sources = [
233 "android/jni/androidmetrics_jni.cc",
234 ]
235
236 configs += [ ":libjingle_peerconnection_jni_warnings_config" ]
237
238 deps = [
239 ":libjingle_peerconnection",
240 "../system_wrappers:field_trial_default",
241 "../system_wrappers:metrics_default",
242 ]
sakalf7233122016-11-22 01:25:09 -0800243 }
244
ehmaldonadoacf9f472016-09-08 04:26:37 -0700245 rtc_shared_library("libjingle_peerconnection_so") {
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200246 sources = [
sakald34a7112016-07-01 05:10:51 -0700247 "android/jni/jni_onload.cc",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200248 ]
249
ehmaldonadoacf9f472016-09-08 04:26:37 -0700250 suppressed_configs += [ "//build/config/android:hide_native_jni_exports" ]
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200251
252 deps = [
253 ":libjingle_peerconnection",
254 ":libjingle_peerconnection_jni",
sakal08be7802016-11-23 07:12:22 -0800255 ":libjingle_peerconnection_metrics_default_jni",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200256 ]
sakala53fa0a2016-08-24 00:48:21 -0700257 output_extension = "so"
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200258 }
sakalebf52402016-10-24 00:28:01 -0700259}
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200260
sakalebf52402016-10-24 00:28:01 -0700261# Classes that don't require jni can be used in Chromium.
262if (is_android) {
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200263 android_library("libjingle_peerconnection_java") {
264 java_files = [
265 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo.java",
266 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java",
267 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java",
268 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java",
269 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java",
270 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java",
sakald34a7112016-07-01 05:10:51 -0700271 "android/java/src/org/webrtc/AudioSource.java",
272 "android/java/src/org/webrtc/AudioTrack.java",
273 "android/java/src/org/webrtc/CallSessionFileRotatingLogSink.java",
sakal34425792016-09-21 01:34:56 -0700274 "android/java/src/org/webrtc/Camera1Capturer.java",
sakald34a7112016-07-01 05:10:51 -0700275 "android/java/src/org/webrtc/Camera1Enumerator.java",
sakal34425792016-09-21 01:34:56 -0700276 "android/java/src/org/webrtc/Camera1Session.java",
sakald34a7112016-07-01 05:10:51 -0700277 "android/java/src/org/webrtc/Camera2Capturer.java",
278 "android/java/src/org/webrtc/Camera2Enumerator.java",
sakald30e0ad2016-08-11 01:00:37 -0700279 "android/java/src/org/webrtc/Camera2Session.java",
280 "android/java/src/org/webrtc/CameraCapturer.java",
sakald34a7112016-07-01 05:10:51 -0700281 "android/java/src/org/webrtc/CameraEnumerationAndroid.java",
282 "android/java/src/org/webrtc/CameraEnumerator.java",
sakald30e0ad2016-08-11 01:00:37 -0700283 "android/java/src/org/webrtc/CameraSession.java",
sakald34a7112016-07-01 05:10:51 -0700284 "android/java/src/org/webrtc/CameraVideoCapturer.java",
285 "android/java/src/org/webrtc/DataChannel.java",
286 "android/java/src/org/webrtc/EglBase.java",
287 "android/java/src/org/webrtc/EglBase10.java",
288 "android/java/src/org/webrtc/EglBase14.java",
magjeddf494b02016-10-07 05:32:35 -0700289 "android/java/src/org/webrtc/EglRenderer.java",
mandermo64e1a322016-10-18 08:47:51 -0700290 "android/java/src/org/webrtc/FileVideoCapturer.java",
sakald34a7112016-07-01 05:10:51 -0700291 "android/java/src/org/webrtc/GlRectDrawer.java",
292 "android/java/src/org/webrtc/GlShader.java",
293 "android/java/src/org/webrtc/GlTextureFrameBuffer.java",
294 "android/java/src/org/webrtc/GlUtil.java",
sakal08be7802016-11-23 07:12:22 -0800295 "android/java/src/org/webrtc/Histogram.java",
sakald34a7112016-07-01 05:10:51 -0700296 "android/java/src/org/webrtc/IceCandidate.java",
297 "android/java/src/org/webrtc/MediaCodecVideoDecoder.java",
298 "android/java/src/org/webrtc/MediaCodecVideoEncoder.java",
299 "android/java/src/org/webrtc/MediaConstraints.java",
300 "android/java/src/org/webrtc/MediaSource.java",
301 "android/java/src/org/webrtc/MediaStream.java",
302 "android/java/src/org/webrtc/MediaStreamTrack.java",
sakald34a7112016-07-01 05:10:51 -0700303 "android/java/src/org/webrtc/NetworkMonitor.java",
304 "android/java/src/org/webrtc/NetworkMonitorAutoDetect.java",
305 "android/java/src/org/webrtc/PeerConnection.java",
306 "android/java/src/org/webrtc/PeerConnectionFactory.java",
307 "android/java/src/org/webrtc/RendererCommon.java",
308 "android/java/src/org/webrtc/RtpParameters.java",
309 "android/java/src/org/webrtc/RtpReceiver.java",
310 "android/java/src/org/webrtc/RtpSender.java",
sakal73c5d4a2016-10-19 02:46:19 -0700311 "android/java/src/org/webrtc/ScreenCapturerAndroid.java",
sakald34a7112016-07-01 05:10:51 -0700312 "android/java/src/org/webrtc/SdpObserver.java",
313 "android/java/src/org/webrtc/SessionDescription.java",
314 "android/java/src/org/webrtc/StatsObserver.java",
315 "android/java/src/org/webrtc/StatsReport.java",
316 "android/java/src/org/webrtc/SurfaceTextureHelper.java",
317 "android/java/src/org/webrtc/SurfaceViewRenderer.java",
318 "android/java/src/org/webrtc/VideoCapturer.java",
319 "android/java/src/org/webrtc/VideoCapturerAndroid.java",
mandermo64e1a322016-10-18 08:47:51 -0700320 "android/java/src/org/webrtc/VideoFileRenderer.java",
sakald34a7112016-07-01 05:10:51 -0700321 "android/java/src/org/webrtc/VideoRenderer.java",
322 "android/java/src/org/webrtc/VideoRendererGui.java",
323 "android/java/src/org/webrtc/VideoSource.java",
324 "android/java/src/org/webrtc/VideoTrack.java",
Magnus Jedvert577bc192016-10-19 15:29:02 +0200325 "android/java/src/org/webrtc/YuvConverter.java",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200326 ]
327
328 deps = [
sakalebf52402016-10-24 00:28:01 -0700329 "../base:base_java",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200330 ]
331 }
sakal08be7802016-11-23 07:12:22 -0800332
333 android_library("libjingle_peerconnection_metrics_default_java") {
334 java_files = [ "android/java/src/org/webrtc/Metrics.java" ]
335
336 deps = [
337 "../base:base_java",
338 ]
339 }
kjellanderfd5b4e92016-06-13 12:08:33 -0700340}
341
hbos74e1a4f2016-09-15 23:33:01 -0700342rtc_source_set("rtc_stats_api") {
343 cflags = []
344 sources = [
345 "stats/rtcstats.h",
346 "stats/rtcstats_objects.h",
347 "stats/rtcstatsreport.h",
348 ]
349
350 deps = [
351 "../base:rtc_base_approved",
352 ]
353}
354
aleloi201dfe92016-10-20 05:06:39 -0700355rtc_source_set("audio_mixer_api") {
356 sources = [
357 "audio/audio_mixer.h",
358 ]
359
360 deps = [
361 "../base:rtc_base_approved",
362 ]
363}
364
kjellanderfd5b4e92016-06-13 12:08:33 -0700365if (rtc_include_tests) {
366 config("peerconnection_unittests_config") {
367 # The warnings below are enabled by default. Since GN orders compiler flags
368 # for a target before flags from configs, the only way to disable such
369 # warnings is by having them in a separate config, loaded from the target.
370 # TODO(kjellander): Make the code compile without disabling these flags.
371 # See https://bugs.webrtc.org/3307.
372 if (is_clang && is_win) {
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700373 cflags = [
374 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6267
375 # for -Wno-sign-compare
376 "-Wno-sign-compare",
377 "-Wno-unused-function",
378 ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700379 }
380
381 if (!is_win) {
382 cflags = [ "-Wno-sign-compare" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700383 }
384 }
385
ehmaldonado38a21322016-09-02 04:10:34 -0700386 rtc_test("peerconnection_unittests") {
kjellanderfd5b4e92016-06-13 12:08:33 -0700387 testonly = true
388 sources = [
389 "datachannel_unittest.cc",
390 "dtmfsender_unittest.cc",
391 "fakemetricsobserver.cc",
392 "fakemetricsobserver.h",
393 "jsepsessiondescription_unittest.cc",
394 "localaudiosource_unittest.cc",
395 "mediaconstraintsinterface_unittest.cc",
396 "mediastream_unittest.cc",
397 "peerconnection_unittest.cc",
398 "peerconnectionendtoend_unittest.cc",
399 "peerconnectionfactory_unittest.cc",
400 "peerconnectioninterface_unittest.cc",
401 "proxy_unittest.cc",
hbos74e1a4f2016-09-15 23:33:01 -0700402 "rtcstatscollector_unittest.cc",
kjellanderfd5b4e92016-06-13 12:08:33 -0700403 "rtpsenderreceiver_unittest.cc",
ossud4d2f602016-11-08 02:05:32 -0800404 "sctputils_unittest.cc",
kjellanderfd5b4e92016-06-13 12:08:33 -0700405 "statscollector_unittest.cc",
406 "test/fakeaudiocapturemodule.cc",
407 "test/fakeaudiocapturemodule.h",
408 "test/fakeaudiocapturemodule_unittest.cc",
409 "test/fakeconstraints.h",
410 "test/fakedatachannelprovider.h",
411 "test/fakeperiodicvideocapturer.h",
412 "test/fakertccertificategenerator.h",
413 "test/fakevideotrackrenderer.h",
hbosd565b732016-08-30 14:04:35 -0700414 "test/mock_datachannel.h",
hbosb24b1ce2016-08-16 01:19:43 -0700415 "test/mock_peerconnection.h",
416 "test/mock_webrtcsession.h",
kjellanderfd5b4e92016-06-13 12:08:33 -0700417 "test/mockpeerconnectionobservers.h",
418 "test/peerconnectiontestwrapper.cc",
419 "test/peerconnectiontestwrapper.h",
420 "test/testsdpstrings.h",
421 "videocapturertracksource_unittest.cc",
422 "videotrack_unittest.cc",
423 "webrtcsdp_unittest.cc",
424 "webrtcsession_unittest.cc",
425 ]
426
427 defines = [ "HAVE_SCTP" ]
428
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700429 configs += [ ":peerconnection_unittests_config" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700430
kjellandere40a7ee2016-10-16 23:56:12 -0700431 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700432 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700433 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700434 }
435
436 # TODO(jschuh): Bug 1348: fix this warning.
437 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
438
439 if (is_win) {
440 cflags = [
441 "/wd4245", # conversion from int to size_t, signed/unsigned mismatch.
442 "/wd4389", # signed/unsigned mismatch.
443 ]
444 }
445
446 if (rtc_use_quic) {
447 public_deps = [
448 "//third_party/libquic",
449 ]
450 sources += [
451 "quicdatachannel_unittest.cc",
452 "quicdatatransport_unittest.cc",
453 ]
454 }
455
456 deps = []
457 if (is_android) {
458 sources += [
459 "test/androidtestinitializer.cc",
460 "test/androidtestinitializer.h",
461 ]
462 deps += [
kjellanderb37c45c2016-08-23 12:55:40 -0700463 ":libjingle_peerconnection_java",
kjellanderfd5b4e92016-06-13 12:08:33 -0700464 ":libjingle_peerconnection_jni",
465 "//testing/android/native_test:native_test_support",
466 ]
467 }
468
469 deps += [
470 ":libjingle_peerconnection",
471 "..:webrtc_common",
472 "../base:rtc_base_tests_utils",
473 "../media:rtc_unittest_main",
474 "../pc:rtc_pc",
475 "../system_wrappers:metrics_default",
476 "//testing/gmock",
477 ]
478
479 if (is_android) {
480 deps += [ "//testing/android/native_test:native_test_support" ]
sakal714dd4e2016-08-15 02:29:11 -0700481
482 shard_timeout = 900
kjellanderfd5b4e92016-06-13 12:08:33 -0700483 }
484 }
ehmaldonado3651d8f2016-08-10 03:10:48 -0700485
aleloi17338d42016-11-22 06:02:06 -0800486 rtc_source_set("mock_audio_mixer") {
487 testonly = true
488 sources = [
489 "test/mock_audio_mixer.h",
490 ]
491
492 public_deps = [
493 ":audio_mixer_api",
494 ]
495
496 deps = [
497 "//testing/gmock",
498 ]
499 }
500
ehmaldonado3651d8f2016-08-10 03:10:48 -0700501 if (is_android) {
502 instrumentation_test_apk("libjingle_peerconnection_android_unittest") {
503 apk_name = "libjingle_peerconnection_android_unittest"
504 android_manifest = "androidtests/AndroidManifest.xml"
505
506 java_files = [
507 "androidtests/src/org/webrtc/Camera1CapturerUsingByteBufferTest.java",
508 "androidtests/src/org/webrtc/Camera1CapturerUsingTextureTest.java",
509 "androidtests/src/org/webrtc/Camera2CapturerTest.java",
510 "androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java",
sakalfb0c5732016-11-03 09:15:34 -0700511 "androidtests/src/org/webrtc/EglRendererTest.java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700512 "androidtests/src/org/webrtc/GlRectDrawerTest.java",
513 "androidtests/src/org/webrtc/MediaCodecVideoEncoderTest.java",
514 "androidtests/src/org/webrtc/NetworkMonitorTest.java",
515 "androidtests/src/org/webrtc/PeerConnectionTest.java",
516 "androidtests/src/org/webrtc/RendererCommonTest.java",
517 "androidtests/src/org/webrtc/SurfaceTextureHelperTest.java",
518 "androidtests/src/org/webrtc/SurfaceViewRendererOnMeasureTest.java",
phoglund613152a2016-11-16 01:31:20 -0800519 "androidtests/src/org/webrtc/WebRtcJniBootTest.java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700520 ]
521
522 deps = [
ehmaldonado3651d8f2016-08-10 03:10:48 -0700523 ":libjingle_peerconnection_java",
sakal08be7802016-11-23 07:12:22 -0800524 ":libjingle_peerconnection_metrics_default_java",
sakalebf52402016-10-24 00:28:01 -0700525 "../base:base_java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700526 "//base:base_java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700527 ]
528
529 shared_libraries = [ ":libjingle_peerconnection_so" ]
530 }
ehmaldonado3651d8f2016-08-10 03:10:48 -0700531 }
kjellanderfd5b4e92016-06-13 12:08:33 -0700532}