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

Side by Side Diff: media/BUILD.gn

Issue 390893003: Enable media in default GN build -- Part Deux! (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix widevine. Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/android/rules.gni")
5 import("//build/config/arm.gni") 6 import("//build/config/arm.gni")
6 import("//build/config/ui.gni") 7 import("//build/config/ui.gni")
7 import("//build/config/linux/pkg_config.gni") 8 import("//build/config/linux/pkg_config.gni")
8 9
9 # These variables need to be args. 10 # These variables need to be args.
10 11
11 # Override to dynamically link the cras (ChromeOS audio) library. 12 # Override to dynamically link the cras (ChromeOS audio) library.
12 use_cras = false 13 use_cras = false
13 14
14 # Option e.g. for Linux distributions to link pulseaudio directly 15 # Option e.g. for Linux distributions to link pulseaudio directly
15 # (DT_NEEDED) instead of using dlopen. This helps with automated 16 # (DT_NEEDED) instead of using dlopen. This helps with automated
16 # detection of ABI mismatches and prevents silent errors. 17 # detection of ABI mismatches and prevents silent errors.
17 # 18 #
18 # TODO(ajwong): Why is this prefixed "linux_"? 19 # TODO(ajwong): Why is this prefixed "linux_"?
19 linux_link_pulseaudio = false 20 linux_link_pulseaudio = false
20 21
21 # TODO(ajwong): Enable libvpx once that's converted. 22 # TODO(ajwong): Enable libvpx once that's converted.
22 media_use_ffmpeg = true 23 media_use_ffmpeg = true
23 media_use_libvpx = false 24 media_use_libvpx = false
24 if (is_android) { 25 if (is_android) {
25 # Android doesn't use ffmpeg or libvpx. 26 # Android doesn't use ffmpeg or libvpx.
26 media_use_ffmpeg = false 27 media_use_ffmpeg = false
27 media_use_libvpx = false 28 media_use_libvpx = false
28 } 29 }
29 30
30 # TODO(ajwong): how to disable embedded? 31 # TODO(ajwong): how to disable embedded?
31 # Original conditional: (OS=="linux" or OS=="freebsd" or OS=="solaris") and embe dded!=1 32 # Original conditional: (OS=="linux" or OS=="freebsd" or OS=="solaris") and embe dded!=1
32 use_alsa = false 33 use_alsa = false
33 use_pulseaudio = false 34 use_pulseaudio = false
34 if (is_posix) { 35 if (is_posix && !is_android) {
35 use_alsa = true 36 use_alsa = true
36 if (!use_cras) { 37 if (!use_cras) {
37 use_pulseaudio = true 38 use_pulseaudio = true
38 } 39 }
39 } 40 }
40 41
41 # TODO(ajwong): is_openbsd should be a platform define. 42 # TODO(ajwong): is_openbsd should be a platform define.
42 is_openbsd = false 43 is_openbsd = false
43 44
44 # TODO(ajwong): This should be branding controlled? 45 # TODO(ajwong): This should be branding controlled?
45 proprietary_codecs = false 46 proprietary_codecs = false
46 47
47 # TODO(ajwong): Where are these coming from?jk 48 # TODO(ajwong): Where are these coming from?jk
48 enable_mpeg2ts_stream_parser = false 49 enable_mpeg2ts_stream_parser = false
49 enable_browser_cdms = false 50 enable_browser_cdms = is_android
51 android_webview_build = false
brettw 2014/07/14 19:24:24 This is "is_android_webview_build". Import //build
DaleCurtis 2014/07/14 21:00:06 Done.
50 52
51 # Common configuration for targets in the media directory. 53 # Common configuration for targets in the media directory.
52 # NOT for exporting. 54 # NOT for exporting.
53 config("media_config") { 55 config("media_config") {
54 defines = [ "MEDIA_IMPLEMENTATION" ] 56 defines = [ "MEDIA_IMPLEMENTATION" ]
55 if (cpu_arch == "arm" && arm_use_neon) { 57 if (cpu_arch == "arm" && arm_use_neon) {
56 defines += [ "USE_NEON" ] 58 defines += [ "USE_NEON" ]
57 } 59 }
58 if (!media_use_libvpx) { 60 if (!media_use_libvpx) {
59 defines += [ "MEDIA_DISABLE_LIBVPX" ] 61 defines += [ "MEDIA_DISABLE_LIBVPX" ]
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 "-p", "media/audio/pulse", 109 "-p", "media/audio/pulse",
108 ] 110 ]
109 111
110 args += rebase_path(sources, root_build_dir) 112 args += rebase_path(sources, root_build_dir)
111 } 113 }
112 } 114 }
113 115
114 component("media") { 116 component("media") {
115 sources = [ 117 sources = [
116 "audio/agc_audio_stream.h", 118 "audio/agc_audio_stream.h",
117 "audio/android/audio_record_input.cc",
118 "audio/android/audio_record_input.h",
119 "audio/android/opensles_input.cc",
120 "audio/android/opensles_input.h",
121 "audio/android/opensles_output.cc",
122 "audio/android/opensles_output.h",
123 "audio/android/opensles_wrapper.cc",
124 "audio/audio_buffers_state.cc", 119 "audio/audio_buffers_state.cc",
125 "audio/audio_buffers_state.h", 120 "audio/audio_buffers_state.h",
126 "audio/audio_device_name.cc", 121 "audio/audio_device_name.cc",
127 "audio/audio_device_name.h", 122 "audio/audio_device_name.h",
128 "audio/audio_device_thread.cc", 123 "audio/audio_device_thread.cc",
129 "audio/audio_device_thread.h", 124 "audio/audio_device_thread.h",
130 "audio/audio_input_controller.cc", 125 "audio/audio_input_controller.cc",
131 "audio/audio_input_controller.h", 126 "audio/audio_input_controller.h",
132 "audio/audio_input_device.cc", 127 "audio/audio_input_device.cc",
133 "audio/audio_input_device.h", 128 "audio/audio_input_device.h",
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 577
583 if (!is_android) { 578 if (!is_android) {
584 sources += [ 579 sources += [
585 "filters/opus_audio_decoder.cc", 580 "filters/opus_audio_decoder.cc",
586 "filters/opus_audio_decoder.h", 581 "filters/opus_audio_decoder.h",
587 ] 582 ]
588 } else { 583 } else {
589 sources += [ 584 sources += [
590 "audio/android/audio_manager_android.cc", 585 "audio/android/audio_manager_android.cc",
591 "audio/android/audio_manager_android.h", 586 "audio/android/audio_manager_android.h",
587 "audio/android/audio_record_input.cc",
588 "audio/android/audio_record_input.h",
589 "audio/android/opensles_input.cc",
590 "audio/android/opensles_input.h",
591 "audio/android/opensles_output.cc",
592 "audio/android/opensles_output.h",
593 "audio/android/opensles_wrapper.cc",
592 "base/android/demuxer_android.h", 594 "base/android/demuxer_android.h",
593 "base/android/demuxer_stream_player_params.cc", 595 "base/android/demuxer_stream_player_params.cc",
594 "base/android/demuxer_stream_player_params.h", 596 "base/android/demuxer_stream_player_params.h",
595 "base/android/media_player_manager.h", 597 "base/android/media_player_manager.h",
596 "base/android/media_resource_getter.cc", 598 "base/android/media_resource_getter.cc",
597 "base/android/media_resource_getter.h", 599 "base/android/media_resource_getter.h",
598 "base/media.cc",
599 "base/media.h",
600 "base/media_stub.cc", 600 "base/media_stub.cc",
601 "midi/midi_manager_android.cc", 601 "midi/midi_manager_android.cc",
602 "midi/usb_midi_device_android.cc", 602 "midi/usb_midi_device_android.cc",
603 "midi/usb_midi_device_android.h", 603 "midi/usb_midi_device_android.h",
604 "midi/usb_midi_device_factory_android.cc", 604 "midi/usb_midi_device_factory_android.cc",
605 "midi/usb_midi_device_factory_android.h", 605 "midi/usb_midi_device_factory_android.h",
606 "video/capture/android/video_capture_device_android.cc", 606 "video/capture/android/video_capture_device_android.cc",
607 "video/capture/android/video_capture_device_android.h", 607 "video/capture/android/video_capture_device_android.h",
608 "video/capture/android/video_capture_device_factory_android.cc", 608 "video/capture/android/video_capture_device_factory_android.cc",
609 "video/capture/android/video_capture_device_factory_android.h", 609 "video/capture/android/video_capture_device_factory_android.h",
610 ] 610 ]
611 defines += [ "DISABLE_USER_INPUT_MONITOR" ] 611 defines += [ "DISABLE_USER_INPUT_MONITOR" ]
612 # TODO(ajwong): Fix for android. 612 deps += [
613 # deps += [ 613 ":media_android_jni_headers",
614 # ":media_android_jni_headers", 614 ":player_android",
615 # ":player_android", 615 ":video_capture_android_jni_headers",
616 # ":video_capture_android_jni_headers", 616 ]
617 # ] 617 if (!android_webview_build) {
618 # if (!android_webview_build) { 618 deps += [ ":media_java" ]
619 # deps += [ ":media_java" ] 619 }
620 # }
621 } 620 }
622 621
623 if (is_chromeos) { 622 if (is_chromeos) {
624 # A simple WebM encoder for animated avatars on ChromeOS. 623 # A simple WebM encoder for animated avatars on ChromeOS.
625 sources += [ 624 sources += [
626 "formats/webm/chromeos/ebml_writer.cc", 625 "formats/webm/chromeos/ebml_writer.cc",
627 "formats/webm/chromeos/ebml_writer.h", 626 "formats/webm/chromeos/ebml_writer.h",
628 "formats/webm/chromeos/webm_encoder.cc", 627 "formats/webm/chromeos/webm_encoder.cc",
629 "formats/webm/chromeos/webm_encoder.h", 628 "formats/webm/chromeos/webm_encoder.h",
630 ] 629 ]
631 deps += [ 630 deps += [
632 "//third_party/libvpx", 631 "//third_party/libvpx",
633 "//third_party/libyuv" 632 "//third_party/libyuv"
634 ] 633 ]
635 # For VaapiVideoEncodeAccelerator. 634 # For VaapiVideoEncodeAccelerator.
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 # }], 1094 # }],
1096 # ], 1095 # ],
1097 # }], 1096 # }],
1098 deps = [ 1097 deps = [
1099 ":media", 1098 ":media",
1100 ":media_test_support", 1099 ":media_test_support",
1101 "//base/test:test_support", 1100 "//base/test:test_support",
1102 "//skia", # Direct dependency required to inherit config. 1101 "//skia", # Direct dependency required to inherit config.
1103 "//testing/gmock", 1102 "//testing/gmock",
1104 "//testing/gtest", 1103 "//testing/gtest",
1105 # "//third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h", TODO( GYP): Port over CDM stuff. 1104 # TODO(dalecurtis): Port the rest of Widevine stuff.
1105 "//third_party/widevine/cdm:version_h",
1106 "//ui/base", 1106 "//ui/base",
1107 "//ui/gfx:gfx_test_support", 1107 "//ui/gfx:gfx_test_support",
1108 ] 1108 ]
1109 if (media_use_ffmpeg) { 1109 if (media_use_ffmpeg) {
1110 deps += [ 1110 deps += [
1111 "//third_party/ffmpeg", # Direct dependency required to inherit config. 1111 "//third_party/ffmpeg", # Direct dependency required to inherit config.
1112 ] 1112 ]
1113 } 1113 }
1114 } 1114 }
1115 1115
(...skipping 15 matching lines...) Expand all
1131 } 1131 }
1132 configs += [ ":media_config" ] 1132 configs += [ ":media_config" ]
1133 deps = [ 1133 deps = [
1134 ":media", 1134 ":media",
1135 ":media_test_support", 1135 ":media_test_support",
1136 ":shared_memory_support", 1136 ":shared_memory_support",
1137 "//base/test:test_support", 1137 "//base/test:test_support",
1138 "//testing/gmock", 1138 "//testing/gmock",
1139 "//testing/gtest", 1139 "//testing/gtest",
1140 "//testing/perf", 1140 "//testing/perf",
1141 # "//third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h", TODO( GYP): Port over CDM stuff. 1141 "//third_party/widevine/cdm:version_h",
1142 "//ui/gl", 1142 "//ui/gl",
1143 "//ui/gfx:gfx_test_support", 1143 "//ui/gfx:gfx_test_support",
1144 ] 1144 ]
1145 if (media_use_ffmpeg) { 1145 if (media_use_ffmpeg) {
1146 deps += [ 1146 deps += [
1147 "//third_party/ffmpeg", # Direct dependency required to inherit config. 1147 "//third_party/ffmpeg", # Direct dependency required to inherit config.
1148 ] 1148 ]
1149 } 1149 }
1150 } 1150 }
1151 1151
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1219 yasm_flags += [ "-DELF" ] 1219 yasm_flags += [ "-DELF" ]
1220 if (cpu_arch == "x64") { 1220 if (cpu_arch == "x64") {
1221 # TODO(ajwong): Why isn't this true in mac? 1221 # TODO(ajwong): Why isn't this true in mac?
1222 yasm_flags += [ "-DPIC" ] 1222 yasm_flags += [ "-DPIC" ]
1223 } 1223 }
1224 } 1224 }
1225 } 1225 }
1226 } 1226 }
1227 } 1227 }
1228 1228
1229
1230 source_set("media_test_support") { 1229 source_set("media_test_support") {
1231 sources = [ 1230 sources = [
1232 "audio/mock_audio_manager.cc", 1231 "audio/mock_audio_manager.cc",
1233 "audio/mock_audio_manager.h", 1232 "audio/mock_audio_manager.h",
1234 "audio/mock_audio_source_callback.cc", 1233 "audio/mock_audio_source_callback.cc",
1235 "audio/mock_audio_source_callback.h", 1234 "audio/mock_audio_source_callback.h",
1236 "audio/test_audio_input_controller_factory.cc", 1235 "audio/test_audio_input_controller_factory.cc",
1237 "audio/test_audio_input_controller_factory.h", 1236 "audio/test_audio_input_controller_factory.h",
1238 "base/fake_audio_render_callback.cc", 1237 "base/fake_audio_render_callback.cc",
1239 "base/fake_audio_render_callback.h", 1238 "base/fake_audio_render_callback.h",
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1281 "base/channel_layout.h", 1280 "base/channel_layout.h",
1282 "base/limits.h", 1281 "base/limits.h",
1283 "base/media_export.h", 1282 "base/media_export.h",
1284 "base/vector_math.cc", 1283 "base/vector_math.cc",
1285 "base/vector_math.h", 1284 "base/vector_math.h",
1286 ] 1285 ]
1287 configs += [ ":media_config" ] 1286 configs += [ ":media_config" ]
1288 deps = [ "//base" ] 1287 deps = [ "//base" ]
1289 } 1288 }
1290 1289
1291 test("ffmpeg_unittests") { 1290 if (media_use_ffmpeg) {
1292 sources = [ "ffmpeg/ffmpeg_unittest.cc" ] 1291 test("ffmpeg_unittests") {
1292 sources = [ "ffmpeg/ffmpeg_unittest.cc" ]
1293 1293
1294 deps = [ 1294 deps = [
1295 ":media", 1295 ":media",
1296 ":media_test_support", 1296 ":media_test_support",
1297 "//base", 1297 "//base",
1298 "//base:i18n", 1298 "//base:i18n",
1299 "//base/test:test_support", 1299 "//base/test:test_support",
1300 "//testing/gtest", 1300 "//testing/gtest",
1301 "//third_party/ffmpeg", 1301 "//third_party/ffmpeg",
1302 "//ui/gfx:gfx_test_support", 1302 "//ui/gfx:gfx_test_support",
1303 ] 1303 ]
1304 } 1304 }
1305 1305
1306 test("ffmpeg_regression_tests") { 1306 test("ffmpeg_regression_tests") {
1307 sources = [ 1307 sources = [
1308 "base/run_all_unittests.cc", 1308 "base/run_all_unittests.cc",
1309 "ffmpeg/ffmpeg_regression_tests.cc", 1309 "ffmpeg/ffmpeg_regression_tests.cc",
1310 "filters/pipeline_integration_test_base.cc", 1310 "filters/pipeline_integration_test_base.cc",
1311 ] 1311 ]
1312 configs += [ ":media_config" ] 1312 configs += [ ":media_config" ]
1313 deps = [ 1313 deps = [
1314 ":media", 1314 ":media",
1315 ":media_test_support", 1315 ":media_test_support",
1316 "//base/test:test_support", 1316 "//base/test:test_support",
1317 "//testing/gmock", 1317 "//testing/gmock",
1318 "//testing/gtest", 1318 "//testing/gtest",
1319 "//third_party/ffmpeg", 1319 "//third_party/ffmpeg",
1320 "//ui/gfx/geometry", 1320 "//ui/gfx/geometry",
1321 "//ui/gfx:gfx_test_support", 1321 "//ui/gfx:gfx_test_support",
1322 ] 1322 ]
1323 # TODO(ajwong): This was in the original gyp, but it seems silly. 1323 # TODO(ajwong): This was in the original gyp, but it seems silly.
1324 # ['os_posix==1 and OS!="mac"', { 1324 # ['os_posix==1 and OS!="mac"', {
1325 # 'conditions': [ 1325 # 'conditions': [
1326 # ['use_allocator!="none"', { 1326 # ['use_allocator!="none"', {
1327 # 'dependencies': [ 1327 # 'dependencies': [
1328 # '../base/allocator/allocator.gyp:allocator', 1328 # '../base/allocator/allocator.gyp:allocator',
1329 # ], 1329 # ],
1330 # }], 1330 # }],
1331 # ], 1331 # ],
1332 # }], 1332 # }],
1333 }
1333 } 1334 }
1334 1335
1335 if (use_x11) { 1336 if (use_x11) {
1336 executable("player_x11") { 1337 executable("player_x11") {
1337 sources = [ 1338 sources = [
1338 "tools/player_x11/data_source_logger.cc", 1339 "tools/player_x11/data_source_logger.cc",
1339 "tools/player_x11/data_source_logger.h", 1340 "tools/player_x11/data_source_logger.h",
1340 "tools/player_x11/gl_video_renderer.cc", 1341 "tools/player_x11/gl_video_renderer.cc",
1341 "tools/player_x11/gl_video_renderer.h", 1342 "tools/player_x11/gl_video_renderer.h",
1342 "tools/player_x11/player_x11.cc", 1343 "tools/player_x11/player_x11.cc",
1343 "tools/player_x11/x11_video_renderer.cc", 1344 "tools/player_x11/x11_video_renderer.cc",
1344 "tools/player_x11/x11_video_renderer.h", 1345 "tools/player_x11/x11_video_renderer.h",
1345 ] 1346 ]
1346 configs += [ 1347 configs += [
1347 ":media_config", 1348 ":media_config",
1348 "//build/config/linux:x11", 1349 "//build/config/linux:x11",
1349 "//build/config/linux:xext", 1350 "//build/config/linux:xext",
1350 # TODO(ajwong): Why does xent get a separate thing in //build/config/linux:BUILD .gn 1351 # TODO(ajwong): Why does xext get a separate thing in //build/config/linux:BUILD .gn
1351 # "//build/config/linux:xrender", 1352 # "//build/config/linux:xrender",
1352 ] 1353 ]
1353 deps = [ 1354 deps = [
1354 ":media", 1355 ":media",
1355 ":shared_memory_support", 1356 ":shared_memory_support",
1356 "//base", 1357 "//base",
1357 "//ui/gl", 1358 "//ui/gl",
1358 "//ui/gfx", 1359 "//ui/gfx",
1359 "//ui/gfx/geometry", 1360 "//ui/gfx/geometry",
1360 ] 1361 ]
1361 } 1362 }
1362 } 1363 }
1364
1365 if (is_android) {
1366 source_set("player_android") {
1367 configs += [ ":media_config" ]
1368 sources = [
1369 "base/android/audio_decoder_job.cc",
1370 "base/android/audio_decoder_job.h",
1371 "base/android/browser_cdm_factory_android.cc",
1372 "base/android/media_codec_bridge.cc",
1373 "base/android/media_codec_bridge.h",
1374 "base/android/media_decoder_job.cc",
1375 "base/android/media_decoder_job.h",
1376 "base/android/media_drm_bridge.cc",
1377 "base/android/media_drm_bridge.h",
1378 "base/android/media_jni_registrar.cc",
1379 "base/android/media_jni_registrar.h",
1380 "base/android/media_player_android.cc",
1381 "base/android/media_player_android.h",
1382 "base/android/media_player_bridge.cc",
1383 "base/android/media_player_bridge.h",
1384 "base/android/media_player_listener.cc",
1385 "base/android/media_player_listener.h",
1386 "base/android/media_source_player.cc",
1387 "base/android/media_source_player.h",
1388 "base/android/video_decoder_job.cc",
1389 "base/android/video_decoder_job.h",
1390 "base/android/webaudio_media_codec_bridge.cc",
1391 "base/android/webaudio_media_codec_bridge.h",
1392 "base/android/webaudio_media_codec_info.h",
1393 ]
1394
1395 deps = [
1396 ":media_android_jni_headers",
1397 "//base",
1398 "//third_party/widevine/cdm:version_h",
1399 "//ui/gl",
1400 "//url"
1401 ]
1402 }
1403
1404 generate_jni("media_android_jni_headers") {
1405 sources = [
1406 "base/android/java/src/org/chromium/media/AudioManagerAndroid.java",
1407 "base/android/java/src/org/chromium/media/AudioRecordInput.java",
1408 "base/android/java/src/org/chromium/media/MediaCodecBridge.java",
1409 "base/android/java/src/org/chromium/media/MediaDrmBridge.java",
1410 "base/android/java/src/org/chromium/media/MediaPlayerBridge.java",
1411 "base/android/java/src/org/chromium/media/MediaPlayerListener.java",
1412 "base/android/java/src/org/chromium/media/UsbMidiDeviceAndroid.java",
1413 "base/android/java/src/org/chromium/media/UsbMidiDeviceFactoryAndroid.java ",
1414 "base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java",
1415 ]
1416 jni_package = "media"
1417 }
1418
1419 generate_jni("video_capture_android_jni_headers") {
1420 sources = [
1421 "base/android/java/src/org/chromium/media/VideoCapture.java",
1422 "base/android/java/src/org/chromium/media/VideoCaptureFactory.java",
1423 ]
1424 jni_package = "media"
1425 }
1426
1427 android_library("media_java") {
1428 srcjar_deps = [
1429 ":media_android_imageformat_list",
1430 ]
1431 java_files = []
1432 }
1433
1434 java_cpp_template("media_android_imageformat_list") {
1435 sources = [
1436 "base/android/java/src/org/chromium/media/ImageFormat.template",
1437 ]
1438 inputs = [
1439 "video/capture/android/imageformat_list.h"
1440 ]
1441 package_name = "org/chromium/media"
1442 }
1443
1444 # TODO(dalecurtis): Finish media_unittests_apk and media_perftests_apk.
1445 }
OLDNEW
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698