Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: webrtc/modules/audio_device/BUILD.gn

Issue 2991343002: Decoupling audio_device from Obj-C code (Closed)
Patch Set: _ios suffix and fixing noop.cc trick Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/modules/audio_device/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2 # 2 #
3 # Use of this source code is governed by a BSD-style license 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 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 5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may 6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree. 7 # be found in the AUTHORS file in the root of the source tree.
8 8
9 import("../../webrtc.gni") 9 import("../../webrtc.gni")
10 10
(...skipping 28 matching lines...) Expand all
39 39
40 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6265 40 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6265
41 # for -Wno-thread-safety-analysis 41 # for -Wno-thread-safety-analysis
42 "-Wno-thread-safety-analysis", 42 "-Wno-thread-safety-analysis",
43 "-Wno-unused-private-field", 43 "-Wno-unused-private-field",
44 ] 44 ]
45 } 45 }
46 } 46 }
47 47
48 rtc_static_library("audio_device") { 48 rtc_static_library("audio_device") {
49 if (is_ios || is_mac) {
50 sources = [
51 "noop.cc",
kjellander_webrtc 2017/08/16 12:46:16 Add a comment about why this silly thing is needed
52 ]
53 }
54 if (rtc_include_internal_audio_device && is_ios) {
55 public_deps = [
56 ":audio_device_ios",
57 ]
58 } else {
59 public_deps = [
60 ":audio_device_generic",
61 ]
62 }
63 }
64
65 if (rtc_include_internal_audio_device && is_ios) {
66 rtc_static_library("audio_device_ios") {
67 visibility = [ ":*" ]
68 sources = [
69 "ios/audio_device_ios.h",
70 "ios/audio_device_ios.mm",
71 "ios/audio_device_not_implemented_ios.mm",
72 "ios/audio_session_observer.h",
73 "ios/objc/RTCAudioSessionDelegateAdapter.h",
74 "ios/objc/RTCAudioSessionDelegateAdapter.mm",
75 "ios/voice_processing_audio_unit.h",
76 "ios/voice_processing_audio_unit.mm",
77 ]
78 libs = [
79 "AudioToolbox.framework",
80 "AVFoundation.framework",
81 "Foundation.framework",
82 "UIKit.framework",
83 ]
84 deps = [
85 "../../rtc_base:gtest_prod",
86 "../../rtc_base:rtc_base",
87 "../../sdk:objc_audio",
88 "../../sdk:objc_common",
89 "../../system_wrappers:metrics_api",
90 ]
91 public_deps = [
92 ":audio_device_generic",
93 ]
94 if (!build_with_chromium && is_clang) {
95 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
96 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
97 }
98 }
99 }
100
101 rtc_static_library("audio_device_generic") {
102 visibility = [ ":*" ]
49 public_configs = [ ":audio_device_config" ] 103 public_configs = [ ":audio_device_config" ]
50 104
51 deps = [ 105 deps = [
52 "..:module_api", 106 "..:module_api",
53 "../..:webrtc_common", 107 "../..:webrtc_common",
54 "../../common_audio", 108 "../../common_audio",
55 "../../rtc_base:rtc_base_approved", 109 "../../rtc_base:rtc_base_approved",
56 "../../rtc_base:rtc_task_queue", 110 "../../rtc_base:rtc_task_queue",
57 "../../system_wrappers", 111 "../../system_wrappers",
58 "../utility", 112 "../utility",
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 # Needed for CoreGraphics: 222 # Needed for CoreGraphics:
169 "ApplicationServices.framework", 223 "ApplicationServices.framework",
170 224
171 "AudioToolbox.framework", 225 "AudioToolbox.framework",
172 "CoreAudio.framework", 226 "CoreAudio.framework",
173 227
174 # Needed for CGEventSourceKeyState in audio_device_mac.cc: 228 # Needed for CGEventSourceKeyState in audio_device_mac.cc:
175 "CoreGraphics.framework", 229 "CoreGraphics.framework",
176 ] 230 ]
177 } 231 }
178 if (is_ios) {
179 public_deps = [
180 "../../rtc_base:gtest_prod",
181 "../../rtc_base:rtc_base",
182 "../../sdk:objc_audio",
183 "../../sdk:objc_common",
184 ]
185 sources += [
186 "ios/audio_device_ios.h",
187 "ios/audio_device_ios.mm",
188 "ios/audio_device_not_implemented_ios.mm",
189 "ios/audio_session_observer.h",
190 "ios/objc/RTCAudioSessionDelegateAdapter.h",
191 "ios/objc/RTCAudioSessionDelegateAdapter.mm",
192 "ios/voice_processing_audio_unit.h",
193 "ios/voice_processing_audio_unit.mm",
194 ]
195 libs = [
196 "AudioToolbox.framework",
197 "AVFoundation.framework",
198 "Foundation.framework",
199 "UIKit.framework",
200 ]
201 }
202 if (is_win) { 232 if (is_win) {
203 sources += [ 233 sources += [
204 "win/audio_device_core_win.cc", 234 "win/audio_device_core_win.cc",
205 "win/audio_device_core_win.h", 235 "win/audio_device_core_win.h",
206 ] 236 ]
207 libs = [ 237 libs = [
208 # Required for the built-in WASAPI AEC. 238 # Required for the built-in WASAPI AEC.
209 "dmoguids.lib", 239 "dmoguids.lib",
210 "wmcodecdspuuid.lib", 240 "wmcodecdspuuid.lib",
211 "amstrmid.lib", 241 "amstrmid.lib",
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 "include/mock_audio_transport.h", 289 "include/mock_audio_transport.h",
260 ] 290 ]
261 deps = [ 291 deps = [
262 ":audio_device", 292 ":audio_device",
263 "../../test:test_support", 293 "../../test:test_support",
264 ] 294 ]
265 all_dependent_configs = [ ":mock_audio_device_config" ] 295 all_dependent_configs = [ ":mock_audio_device_config" ]
266 } 296 }
267 297
268 if (rtc_include_tests) { 298 if (rtc_include_tests) {
299 # TODO(kthelgason): Reenable these tests on simulator.
300 # See bugs.webrtc.org/7812
301 if (is_ios && !use_ios_simulator) {
302 rtc_source_set("audio_device_ios_unittests") {
303 testonly = true
304 visibility = [ ":*" ]
305 sources = [
306 "ios/audio_device_unittest_ios.mm",
307 ]
308 deps = [
309 ":audio_device",
310 ":mock_audio_device",
311 "../../rtc_base:rtc_base_approved",
312 "../../sdk:objc_audio",
313 "../../system_wrappers",
314 "../../test:test_support",
315 "//testing/gmock",
316 "//third_party/ocmock",
317 ]
318 if (!build_with_chromium && is_clang) {
319 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163) .
320 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
321 }
322 }
323 }
324
269 rtc_source_set("audio_device_unittests") { 325 rtc_source_set("audio_device_unittests") {
270 testonly = true 326 testonly = true
271 327
272 # Skip restricting visibility on mobile platforms since the tests on those 328 # Skip restricting visibility on mobile platforms since the tests on those
273 # gets additional generated targets which would require many lines here to 329 # gets additional generated targets which would require many lines here to
274 # cover (which would be confusing to read and hard to maintain). 330 # cover (which would be confusing to read and hard to maintain).
275 if (!is_android && !is_ios) { 331 if (!is_android && !is_ios) {
276 visibility = [ "..:modules_unittests" ] 332 visibility = [ "..:modules_unittests" ]
277 } 333 }
278 sources = [ 334 sources = [
279 "fine_audio_buffer_unittest.cc", 335 "fine_audio_buffer_unittest.cc",
280 ] 336 ]
281 deps = [ 337 deps = [
282 ":audio_device", 338 ":audio_device",
283 ":mock_audio_device", 339 ":mock_audio_device",
284 "../../rtc_base:rtc_base_approved", 340 "../../rtc_base:rtc_base_approved",
285 "../../system_wrappers:system_wrappers", 341 "../../system_wrappers",
286 "../../test:test_support", 342 "../../test:test_support",
287 "../utility:utility", 343 "../utility:utility",
288 "//testing/gmock", 344 "//testing/gmock",
289 ] 345 ]
290 if (is_linux || is_mac || is_win) { 346 if (is_linux || is_mac || is_win) {
291 sources += [ "audio_device_unittest.cc" ] 347 sources += [ "audio_device_unittest.cc" ]
292 } 348 }
293 if (is_android) { 349 if (is_android) {
294 # Need to disable error due to the line in 350 # Need to disable error due to the line in
295 # base/android/jni_android.h triggering it: 351 # base/android/jni_android.h triggering it:
296 # const BASE_EXPORT jobject GetApplicationContext() 352 # const BASE_EXPORT jobject GetApplicationContext()
297 # error: type qualifiers ignored on function return type 353 # error: type qualifiers ignored on function return type
298 cflags = [ "-Wno-ignored-qualifiers" ] 354 cflags = [ "-Wno-ignored-qualifiers" ]
299 sources += [ 355 sources += [
300 "android/audio_device_unittest.cc", 356 "android/audio_device_unittest.cc",
301 "android/audio_manager_unittest.cc", 357 "android/audio_manager_unittest.cc",
302 "android/ensure_initialized.cc", 358 "android/ensure_initialized.cc",
303 "android/ensure_initialized.h", 359 "android/ensure_initialized.h",
304 ] 360 ]
305 deps += [ 361 deps += [
306 "../../../base", 362 "../../../base",
307 "../../sdk/android:libjingle_peerconnection_java", 363 "../../sdk/android:libjingle_peerconnection_java",
308 ] 364 ]
309 } 365 }
310 if (is_ios && !use_ios_simulator) {
311 # TODO(kthelgason): Reenable these tests on simulator.
312 # See bugs.webrtc.org/7812
313 sources += [ "ios/audio_device_unittest_ios.mm" ]
314 deps += [ "//third_party/ocmock" ]
315 }
316 if (!build_with_chromium && is_clang) { 366 if (!build_with_chromium && is_clang) {
317 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). 367 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
318 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] 368 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
319 } 369 }
320 } 370 }
321 371
322 if (!is_ios) { 372 if (!is_ios) {
323 # These tests do not work on ios, see 373 # These tests do not work on ios, see
324 # https://bugs.chromium.org/p/webrtc/issues/detail?id=4755 374 # https://bugs.chromium.org/p/webrtc/issues/detail?id=4755
325 rtc_executable("audio_device_tests") { 375 rtc_executable("audio_device_tests") {
(...skipping 26 matching lines...) Expand all
352 "android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java", 402 "android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java",
353 "android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java", 403 "android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java",
354 "android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java", 404 "android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java",
355 "android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java", 405 "android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java",
356 ] 406 ]
357 deps = [ 407 deps = [
358 "../../rtc_base:base_java", 408 "../../rtc_base:base_java",
359 ] 409 ]
360 } 410 }
361 } 411 }
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/audio_device/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698