blob: 67895070b9c60f60b21a57b85d5fd70c41c9e60d [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 = [
sakald34a7112016-07-01 05:10:51 -0700174 "android/jni/androidmediacodeccommon.h",
175 "android/jni/androidmediadecoder_jni.cc",
176 "android/jni/androidmediadecoder_jni.h",
177 "android/jni/androidmediaencoder_jni.cc",
178 "android/jni/androidmediaencoder_jni.h",
philipelf570a282016-11-21 08:29:59 -0800179 "android/jni/androidmetrics_jni.cc",
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",
philipelf570a282016-11-21 08:29:59 -0800218 "../system_wrappers:field_trial_default",
219 "../system_wrappers:metrics_default",
kjellanderfd5b4e92016-06-13 12:08:33 -0700220 ]
221
222 if (rtc_build_libyuv) {
223 deps += [ "$rtc_libyuv_dir" ]
224 public_deps = [
225 "$rtc_libyuv_dir",
226 ]
227 } else {
228 # Need to add a directory normally exported by libyuv.
charujainb7446d72016-09-28 00:47:51 -0700229 include_dirs = [ "$rtc_libyuv_dir/include" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700230 }
231 }
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200232
sakalf7233122016-11-22 01:25:09 -0800233 rtc_static_library("libjingle_peerconnection_metrics_default_jni") {
234 }
235
ehmaldonadoacf9f472016-09-08 04:26:37 -0700236 rtc_shared_library("libjingle_peerconnection_so") {
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200237 sources = [
sakald34a7112016-07-01 05:10:51 -0700238 "android/jni/jni_onload.cc",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200239 ]
240
ehmaldonadoacf9f472016-09-08 04:26:37 -0700241 suppressed_configs += [ "//build/config/android:hide_native_jni_exports" ]
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200242
243 deps = [
244 ":libjingle_peerconnection",
245 ":libjingle_peerconnection_jni",
246 ]
sakala53fa0a2016-08-24 00:48:21 -0700247 output_extension = "so"
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200248 }
sakalebf52402016-10-24 00:28:01 -0700249}
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200250
sakalebf52402016-10-24 00:28:01 -0700251# Classes that don't require jni can be used in Chromium.
252if (is_android) {
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200253 android_library("libjingle_peerconnection_java") {
254 java_files = [
255 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo.java",
256 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java",
257 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java",
258 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java",
259 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java",
260 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java",
sakald34a7112016-07-01 05:10:51 -0700261 "android/java/src/org/webrtc/AudioSource.java",
262 "android/java/src/org/webrtc/AudioTrack.java",
263 "android/java/src/org/webrtc/CallSessionFileRotatingLogSink.java",
sakal34425792016-09-21 01:34:56 -0700264 "android/java/src/org/webrtc/Camera1Capturer.java",
sakald34a7112016-07-01 05:10:51 -0700265 "android/java/src/org/webrtc/Camera1Enumerator.java",
sakal34425792016-09-21 01:34:56 -0700266 "android/java/src/org/webrtc/Camera1Session.java",
sakald34a7112016-07-01 05:10:51 -0700267 "android/java/src/org/webrtc/Camera2Capturer.java",
268 "android/java/src/org/webrtc/Camera2Enumerator.java",
sakald30e0ad2016-08-11 01:00:37 -0700269 "android/java/src/org/webrtc/Camera2Session.java",
270 "android/java/src/org/webrtc/CameraCapturer.java",
sakald34a7112016-07-01 05:10:51 -0700271 "android/java/src/org/webrtc/CameraEnumerationAndroid.java",
272 "android/java/src/org/webrtc/CameraEnumerator.java",
sakald30e0ad2016-08-11 01:00:37 -0700273 "android/java/src/org/webrtc/CameraSession.java",
sakald34a7112016-07-01 05:10:51 -0700274 "android/java/src/org/webrtc/CameraVideoCapturer.java",
275 "android/java/src/org/webrtc/DataChannel.java",
276 "android/java/src/org/webrtc/EglBase.java",
277 "android/java/src/org/webrtc/EglBase10.java",
278 "android/java/src/org/webrtc/EglBase14.java",
magjeddf494b02016-10-07 05:32:35 -0700279 "android/java/src/org/webrtc/EglRenderer.java",
mandermo64e1a322016-10-18 08:47:51 -0700280 "android/java/src/org/webrtc/FileVideoCapturer.java",
sakald34a7112016-07-01 05:10:51 -0700281 "android/java/src/org/webrtc/GlRectDrawer.java",
282 "android/java/src/org/webrtc/GlShader.java",
283 "android/java/src/org/webrtc/GlTextureFrameBuffer.java",
284 "android/java/src/org/webrtc/GlUtil.java",
285 "android/java/src/org/webrtc/IceCandidate.java",
286 "android/java/src/org/webrtc/MediaCodecVideoDecoder.java",
287 "android/java/src/org/webrtc/MediaCodecVideoEncoder.java",
288 "android/java/src/org/webrtc/MediaConstraints.java",
289 "android/java/src/org/webrtc/MediaSource.java",
290 "android/java/src/org/webrtc/MediaStream.java",
291 "android/java/src/org/webrtc/MediaStreamTrack.java",
philipelf570a282016-11-21 08:29:59 -0800292 "android/java/src/org/webrtc/Metrics.java",
sakald34a7112016-07-01 05:10:51 -0700293 "android/java/src/org/webrtc/NetworkMonitor.java",
294 "android/java/src/org/webrtc/NetworkMonitorAutoDetect.java",
295 "android/java/src/org/webrtc/PeerConnection.java",
296 "android/java/src/org/webrtc/PeerConnectionFactory.java",
297 "android/java/src/org/webrtc/RendererCommon.java",
298 "android/java/src/org/webrtc/RtpParameters.java",
299 "android/java/src/org/webrtc/RtpReceiver.java",
300 "android/java/src/org/webrtc/RtpSender.java",
sakal73c5d4a2016-10-19 02:46:19 -0700301 "android/java/src/org/webrtc/ScreenCapturerAndroid.java",
sakald34a7112016-07-01 05:10:51 -0700302 "android/java/src/org/webrtc/SdpObserver.java",
303 "android/java/src/org/webrtc/SessionDescription.java",
304 "android/java/src/org/webrtc/StatsObserver.java",
305 "android/java/src/org/webrtc/StatsReport.java",
306 "android/java/src/org/webrtc/SurfaceTextureHelper.java",
307 "android/java/src/org/webrtc/SurfaceViewRenderer.java",
308 "android/java/src/org/webrtc/VideoCapturer.java",
309 "android/java/src/org/webrtc/VideoCapturerAndroid.java",
mandermo64e1a322016-10-18 08:47:51 -0700310 "android/java/src/org/webrtc/VideoFileRenderer.java",
sakald34a7112016-07-01 05:10:51 -0700311 "android/java/src/org/webrtc/VideoRenderer.java",
312 "android/java/src/org/webrtc/VideoRendererGui.java",
313 "android/java/src/org/webrtc/VideoSource.java",
314 "android/java/src/org/webrtc/VideoTrack.java",
Magnus Jedvert577bc192016-10-19 15:29:02 +0200315 "android/java/src/org/webrtc/YuvConverter.java",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200316 ]
317
318 deps = [
sakalebf52402016-10-24 00:28:01 -0700319 "../base:base_java",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200320 ]
321 }
kjellanderfd5b4e92016-06-13 12:08:33 -0700322}
323
hbos74e1a4f2016-09-15 23:33:01 -0700324rtc_source_set("rtc_stats_api") {
325 cflags = []
326 sources = [
327 "stats/rtcstats.h",
328 "stats/rtcstats_objects.h",
329 "stats/rtcstatsreport.h",
330 ]
331
332 deps = [
333 "../base:rtc_base_approved",
334 ]
335}
336
aleloi201dfe92016-10-20 05:06:39 -0700337rtc_source_set("audio_mixer_api") {
338 sources = [
339 "audio/audio_mixer.h",
340 ]
341
342 deps = [
343 "../base:rtc_base_approved",
344 ]
345}
346
kjellanderfd5b4e92016-06-13 12:08:33 -0700347if (rtc_include_tests) {
348 config("peerconnection_unittests_config") {
349 # The warnings below are enabled by default. Since GN orders compiler flags
350 # for a target before flags from configs, the only way to disable such
351 # warnings is by having them in a separate config, loaded from the target.
352 # TODO(kjellander): Make the code compile without disabling these flags.
353 # See https://bugs.webrtc.org/3307.
354 if (is_clang && is_win) {
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700355 cflags = [
356 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6267
357 # for -Wno-sign-compare
358 "-Wno-sign-compare",
359 "-Wno-unused-function",
360 ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700361 }
362
363 if (!is_win) {
364 cflags = [ "-Wno-sign-compare" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700365 }
366 }
367
ehmaldonado38a21322016-09-02 04:10:34 -0700368 rtc_test("peerconnection_unittests") {
kjellanderfd5b4e92016-06-13 12:08:33 -0700369 testonly = true
370 sources = [
371 "datachannel_unittest.cc",
372 "dtmfsender_unittest.cc",
373 "fakemetricsobserver.cc",
374 "fakemetricsobserver.h",
375 "jsepsessiondescription_unittest.cc",
376 "localaudiosource_unittest.cc",
377 "mediaconstraintsinterface_unittest.cc",
378 "mediastream_unittest.cc",
379 "peerconnection_unittest.cc",
380 "peerconnectionendtoend_unittest.cc",
381 "peerconnectionfactory_unittest.cc",
382 "peerconnectioninterface_unittest.cc",
383 "proxy_unittest.cc",
hbos74e1a4f2016-09-15 23:33:01 -0700384 "rtcstatscollector_unittest.cc",
kjellanderfd5b4e92016-06-13 12:08:33 -0700385 "rtpsenderreceiver_unittest.cc",
ossud4d2f602016-11-08 02:05:32 -0800386 "sctputils_unittest.cc",
kjellanderfd5b4e92016-06-13 12:08:33 -0700387 "statscollector_unittest.cc",
388 "test/fakeaudiocapturemodule.cc",
389 "test/fakeaudiocapturemodule.h",
390 "test/fakeaudiocapturemodule_unittest.cc",
391 "test/fakeconstraints.h",
392 "test/fakedatachannelprovider.h",
393 "test/fakeperiodicvideocapturer.h",
394 "test/fakertccertificategenerator.h",
395 "test/fakevideotrackrenderer.h",
hbosd565b732016-08-30 14:04:35 -0700396 "test/mock_datachannel.h",
hbosb24b1ce2016-08-16 01:19:43 -0700397 "test/mock_peerconnection.h",
398 "test/mock_webrtcsession.h",
kjellanderfd5b4e92016-06-13 12:08:33 -0700399 "test/mockpeerconnectionobservers.h",
400 "test/peerconnectiontestwrapper.cc",
401 "test/peerconnectiontestwrapper.h",
402 "test/testsdpstrings.h",
403 "videocapturertracksource_unittest.cc",
404 "videotrack_unittest.cc",
405 "webrtcsdp_unittest.cc",
406 "webrtcsession_unittest.cc",
407 ]
408
409 defines = [ "HAVE_SCTP" ]
410
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700411 configs += [ ":peerconnection_unittests_config" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700412
kjellandere40a7ee2016-10-16 23:56:12 -0700413 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700414 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700415 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700416 }
417
418 # TODO(jschuh): Bug 1348: fix this warning.
419 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
420
421 if (is_win) {
422 cflags = [
423 "/wd4245", # conversion from int to size_t, signed/unsigned mismatch.
424 "/wd4389", # signed/unsigned mismatch.
425 ]
426 }
427
428 if (rtc_use_quic) {
429 public_deps = [
430 "//third_party/libquic",
431 ]
432 sources += [
433 "quicdatachannel_unittest.cc",
434 "quicdatatransport_unittest.cc",
435 ]
436 }
437
438 deps = []
439 if (is_android) {
440 sources += [
441 "test/androidtestinitializer.cc",
442 "test/androidtestinitializer.h",
443 ]
444 deps += [
kjellanderb37c45c2016-08-23 12:55:40 -0700445 ":libjingle_peerconnection_java",
kjellanderfd5b4e92016-06-13 12:08:33 -0700446 ":libjingle_peerconnection_jni",
447 "//testing/android/native_test:native_test_support",
448 ]
449 }
450
451 deps += [
452 ":libjingle_peerconnection",
453 "..:webrtc_common",
454 "../base:rtc_base_tests_utils",
455 "../media:rtc_unittest_main",
456 "../pc:rtc_pc",
457 "../system_wrappers:metrics_default",
458 "//testing/gmock",
459 ]
460
461 if (is_android) {
462 deps += [ "//testing/android/native_test:native_test_support" ]
sakal714dd4e2016-08-15 02:29:11 -0700463
464 shard_timeout = 900
kjellanderfd5b4e92016-06-13 12:08:33 -0700465 }
466 }
ehmaldonado3651d8f2016-08-10 03:10:48 -0700467
aleloi17338d42016-11-22 06:02:06 -0800468 rtc_source_set("mock_audio_mixer") {
469 testonly = true
470 sources = [
471 "test/mock_audio_mixer.h",
472 ]
473
474 public_deps = [
475 ":audio_mixer_api",
476 ]
477
478 deps = [
479 "//testing/gmock",
480 ]
481 }
482
ehmaldonado3651d8f2016-08-10 03:10:48 -0700483 if (is_android) {
484 instrumentation_test_apk("libjingle_peerconnection_android_unittest") {
485 apk_name = "libjingle_peerconnection_android_unittest"
486 android_manifest = "androidtests/AndroidManifest.xml"
487
488 java_files = [
489 "androidtests/src/org/webrtc/Camera1CapturerUsingByteBufferTest.java",
490 "androidtests/src/org/webrtc/Camera1CapturerUsingTextureTest.java",
491 "androidtests/src/org/webrtc/Camera2CapturerTest.java",
492 "androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java",
sakalfb0c5732016-11-03 09:15:34 -0700493 "androidtests/src/org/webrtc/EglRendererTest.java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700494 "androidtests/src/org/webrtc/GlRectDrawerTest.java",
495 "androidtests/src/org/webrtc/MediaCodecVideoEncoderTest.java",
496 "androidtests/src/org/webrtc/NetworkMonitorTest.java",
497 "androidtests/src/org/webrtc/PeerConnectionTest.java",
498 "androidtests/src/org/webrtc/RendererCommonTest.java",
499 "androidtests/src/org/webrtc/SurfaceTextureHelperTest.java",
500 "androidtests/src/org/webrtc/SurfaceViewRendererOnMeasureTest.java",
phoglund613152a2016-11-16 01:31:20 -0800501 "androidtests/src/org/webrtc/WebRtcJniBootTest.java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700502 ]
503
504 deps = [
ehmaldonado3651d8f2016-08-10 03:10:48 -0700505 ":libjingle_peerconnection_java",
sakalebf52402016-10-24 00:28:01 -0700506 "../base:base_java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700507 "//base:base_java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700508 ]
509
510 shared_libraries = [ ":libjingle_peerconnection_so" ]
511 }
ehmaldonado3651d8f2016-08-10 03:10:48 -0700512 }
kjellanderfd5b4e92016-06-13 12:08:33 -0700513}