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

Unified Diff: media/BUILD.gn

Issue 396793003: Factorize media/audio into new GN. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missing audio deps. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « DEPS ('k') | media/audio/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/BUILD.gn
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 37dc76f81093bb63507f5bdb2135e69a71611c25..6b710be16a25c60320c7d92b83499d633be39349 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -6,48 +6,7 @@ import("//build/config/android/config.gni")
import("//build/config/arm.gni")
import("//build/config/ui.gni")
import("//build/config/linux/pkg_config.gni")
-
-# These variables need to be args.
-
-# Override to dynamically link the cras (ChromeOS audio) library.
-use_cras = false
-
-# Option e.g. for Linux distributions to link pulseaudio directly
-# (DT_NEEDED) instead of using dlopen. This helps with automated
-# detection of ABI mismatches and prevents silent errors.
-#
-# TODO(ajwong): Why is this prefixed "linux_"?
-linux_link_pulseaudio = false
-
-# TODO(ajwong): Enable libvpx once that's converted.
-media_use_ffmpeg = true
-media_use_libvpx = false
-if (is_android) {
- # Android doesn't use ffmpeg or libvpx.
- media_use_ffmpeg = false
- media_use_libvpx = false
-}
-
-# TODO(ajwong): how to disable embedded?
-# Original conditional: (OS=="linux" or OS=="freebsd" or OS=="solaris") and embedded!=1
-use_alsa = false
-use_pulseaudio = false
-if (is_posix && !is_android) {
- use_alsa = true
- if (!use_cras) {
- use_pulseaudio = true
- }
-}
-
-# TODO(ajwong): is_openbsd should be a platform define.
-is_openbsd = false
-
-# TODO(ajwong): This should be branding controlled?
-proprietary_codecs = false
-
-# TODO(ajwong): Where are these coming from?jk
-enable_mpeg2ts_stream_parser = false
-enable_browser_cdms = is_android
+import("//media/media_options.gni")
# Common configuration for targets in the media directory.
# NOT for exporting.
@@ -83,131 +42,10 @@ if (is_win) {
}
}
-if (!linux_link_pulseaudio) {
- # When libpulse is not directly linked, use stubs to allow for dlopening of
- # the binary.
- action("pulse_generate_stubs") {
- extra_header = "audio/pulse/pulse_stub_header.fragment"
-
- script = "../tools/generate_stubs/generate_stubs.py"
- sources = [ "audio/pulse/pulse.sigs" ]
- source_prereqs = [ extra_header ]
- stubs_filename_root = "pulse_stubs"
-
- # TODO(ajwong): these need to be included in the pulse build.
- outputs = [
- "$target_gen_dir/audio/pulse/$stubs_filename_root.cc",
- "$target_gen_dir/audio/pulse/$stubs_filename_root.h",
- ]
- args = [
- "-i", rebase_path("$target_gen_dir/audio/pulse", root_build_dir),
- "-o", rebase_path("$target_gen_dir/audio/pulse", root_build_dir),
- "-t", "posix_stubs",
- "-e", rebase_path(extra_header, root_build_dir),
- "-s", stubs_filename_root,
- "-p", "media/audio/pulse",
- ]
-
- args += rebase_path(sources, root_build_dir)
- }
-}
-
component("media") {
sources = [
- "audio/agc_audio_stream.h",
- "audio/audio_buffers_state.cc",
- "audio/audio_buffers_state.h",
- "audio/audio_device_name.cc",
- "audio/audio_device_name.h",
- "audio/audio_device_thread.cc",
- "audio/audio_device_thread.h",
- "audio/audio_input_controller.cc",
- "audio/audio_input_controller.h",
- "audio/audio_input_device.cc",
- "audio/audio_input_device.h",
- "audio/audio_input_ipc.cc",
- "audio/audio_input_ipc.h",
- "audio/audio_io.h",
- "audio/audio_manager.cc",
- "audio/audio_manager.h",
- "audio/audio_manager_base.cc",
- "audio/audio_manager_base.h",
- "audio/audio_output_controller.cc",
- "audio/audio_output_controller.h",
- "audio/audio_output_device.cc",
- "audio/audio_output_device.h",
- "audio/audio_output_dispatcher.cc",
- "audio/audio_output_dispatcher.h",
- "audio/audio_output_dispatcher_impl.cc",
- "audio/audio_output_dispatcher_impl.h",
- "audio/audio_output_ipc.cc",
- "audio/audio_output_ipc.h",
- "audio/audio_output_proxy.cc",
- "audio/audio_output_proxy.h",
- "audio/audio_output_resampler.cc",
- "audio/audio_output_resampler.h",
- "audio/audio_power_monitor.cc",
- "audio/audio_power_monitor.h",
- "audio/audio_source_diverter.h",
- "audio/clockless_audio_sink.cc",
- "audio/clockless_audio_sink.h",
- "audio/fake_audio_consumer.cc",
- "audio/fake_audio_consumer.h",
- "audio/fake_audio_input_stream.cc",
- "audio/fake_audio_input_stream.h",
- "audio/fake_audio_log_factory.h",
- "audio/fake_audio_log_factory.cc",
- "audio/fake_audio_manager.cc",
- "audio/fake_audio_manager.h",
- "audio/fake_audio_output_stream.cc",
- "audio/fake_audio_output_stream.h",
- "audio/linux/audio_manager_linux.cc",
- "audio/mac/audio_auhal_mac.cc",
- "audio/mac/audio_auhal_mac.h",
- "audio/mac/audio_device_listener_mac.cc",
- "audio/mac/audio_device_listener_mac.h",
- "audio/mac/audio_input_mac.cc",
- "audio/mac/audio_input_mac.h",
- "audio/mac/audio_low_latency_input_mac.cc",
- "audio/mac/audio_low_latency_input_mac.h",
- "audio/mac/audio_manager_mac.cc",
- "audio/mac/audio_manager_mac.h",
- "audio/null_audio_sink.cc",
- "audio/null_audio_sink.h",
- "audio/sample_rates.cc",
- "audio/sample_rates.h",
- "audio/scoped_task_runner_observer.cc",
- "audio/scoped_task_runner_observer.h",
- "audio/simple_sources.cc",
- "audio/simple_sources.h",
- "audio/sounds/audio_stream_handler.cc",
- "audio/sounds/audio_stream_handler.h",
- "audio/sounds/sounds_manager.cc",
- "audio/sounds/sounds_manager.h",
- "audio/sounds/wav_audio_handler.cc",
- "audio/sounds/wav_audio_handler.h",
- "audio/virtual_audio_input_stream.cc",
- "audio/virtual_audio_input_stream.h",
- "audio/virtual_audio_output_stream.cc",
- "audio/virtual_audio_output_stream.h",
- "audio/win/audio_device_listener_win.cc",
- "audio/win/audio_device_listener_win.h",
- "audio/win/audio_low_latency_input_win.cc",
- "audio/win/audio_low_latency_input_win.h",
- "audio/win/audio_low_latency_output_win.cc",
- "audio/win/audio_low_latency_output_win.h",
- "audio/win/audio_manager_win.cc",
- "audio/win/audio_manager_win.h",
- "audio/win/avrt_wrapper_win.cc",
- "audio/win/avrt_wrapper_win.h",
- "audio/win/core_audio_util_win.cc",
- "audio/win/core_audio_util_win.h",
- "audio/win/device_enumeration_win.cc",
- "audio/win/device_enumeration_win.h",
- "audio/win/wavein_input_win.cc",
- "audio/win/wavein_input_win.h",
- "audio/win/waveout_output_win.cc",
- "audio/win/waveout_output_win.h",
+ "base/audio_block_fifo.cc",
+ "base/audio_block_fifo.h",
"base/audio_buffer.cc",
"base/audio_buffer.h",
"base/audio_buffer_queue.cc",
@@ -328,6 +166,7 @@ component("media") {
"base/text_track_config.h",
"base/time_delta_interpolator.cc",
"base/time_delta_interpolator.h",
+ "base/time_source.h",
"base/user_input_monitor.cc",
"base/user_input_monitor.h",
"base/user_input_monitor_mac.cc",
@@ -345,6 +184,8 @@ component("media") {
"base/video_rotation.h",
"base/video_util.cc",
"base/video_util.h",
+ "base/wall_clock_time_source.cc",
+ "base/wall_clock_time_source.h",
"base/yuv_convert.cc",
"base/yuv_convert.h",
"cdm/aes_decryptor.cc",
@@ -581,15 +422,6 @@ component("media") {
]
} else {
sources += [
- "audio/android/audio_manager_android.cc",
- "audio/android/audio_manager_android.h",
- "audio/android/audio_record_input.cc",
- "audio/android/audio_record_input.h",
- "audio/android/opensles_input.cc",
- "audio/android/opensles_input.h",
- "audio/android/opensles_output.cc",
- "audio/android/opensles_output.h",
- "audio/android/opensles_wrapper.cc",
"base/android/demuxer_android.h",
"base/android/demuxer_stream_player_params.cc",
"base/android/demuxer_stream_player_params.h",
@@ -647,28 +479,11 @@ component("media") {
libs += [ "asound" ]
defines += [ "USE_ALSA" ]
sources += [
- "audio/alsa/alsa_input.cc",
- "audio/alsa/alsa_input.h",
- "audio/alsa/alsa_output.cc",
- "audio/alsa/alsa_output.h",
- "audio/alsa/alsa_util.cc",
- "audio/alsa/alsa_util.h",
- "audio/alsa/alsa_wrapper.cc",
- "audio/alsa/alsa_wrapper.h",
- "audio/alsa/audio_manager_alsa.cc",
- "audio/alsa/audio_manager_alsa.h",
"midi/midi_manager_alsa.cc",
"midi/midi_manager_alsa.h",
]
}
- if (is_openbsd) {
- sources += [
- "audio/openbsd/audio_manager_openbsd.cc",
- "audio/openbsd/audio_manager_openbsd.h",
- ]
- }
-
# A simple WebM encoder for animated avatars on ChromeOS.
if (is_linux) {
if (use_x11) {
@@ -686,22 +501,6 @@ component("media") {
} else {
defines += [ "DISABLE_USER_INPUT_MONITOR" ]
}
-
- if (use_cras) {
- pkg_config("libcras") {
- packages = [ "libcras" ]
- }
- configs += [ "libcras" ]
- sources += [
- "audio/cras/audio_manager_cras.cc",
- "audio/cras/audio_manager_cras.h",
- "audio/cras/cras_input.cc",
- "audio/cras/cras_input.h",
- "audio/cras/cras_unified.cc",
- "audio/cras/cras_unified.h",
- ]
- }
-
}
if (use_ozone) {
@@ -736,35 +535,8 @@ component("media") {
}
}
- if (use_pulseaudio) {
- if (linux_link_pulseaudio) {
- pkg_config("libpulse") {
- packages = [ "libpulse" ]
- }
- configs += [ ":libpulse" ]
- } else {
- # TODO(ajwong): Technically, this dl should go in the action.
- libs += [ "dl" ]
- deps += [ ":pulse_generate_stubs" ]
- sources += get_target_outputs(":pulse_generate_stubs")
- }
- sources += [
- "audio/pulse/audio_manager_pulse.cc",
- "audio/pulse/audio_manager_pulse.h",
- "audio/pulse/pulse_input.cc",
- "audio/pulse/pulse_input.h",
- "audio/pulse/pulse_output.cc",
- "audio/pulse/pulse_output.h",
- "audio/pulse/pulse_util.cc",
- "audio/pulse/pulse_util.h",
- ]
- }
-
if (is_mac) {
libs += [
- "AudioToolbox.framework",
- "AudioUnit.framework",
- "CoreAudio.framework",
"CoreMIDI.framework",
"CoreVideo.framework",
"OpenGL.framework",
@@ -863,6 +635,7 @@ component("media") {
"//crypto",
"//crypto:platform", # TODO(ajwong): This used to be provided by crypto.gyp via export_dependent_settings
"//gpu/command_buffer/common",
+ "//media/audio",
"//skia",
"//third_party/opus",
"//ui/events:events_base",
@@ -874,35 +647,10 @@ component("media") {
test("media_unittests") {
sources = [
- "audio/android/audio_android_unittest.cc",
- "audio/audio_input_controller_unittest.cc",
- "audio/audio_input_unittest.cc",
- "audio/audio_manager_unittest.cc",
- "audio/audio_output_controller_unittest.cc",
- "audio/audio_output_device_unittest.cc",
- "audio/audio_output_proxy_unittest.cc",
- "audio/audio_parameters_unittest.cc",
- "audio/audio_power_monitor_unittest.cc",
- "audio/fake_audio_consumer_unittest.cc",
- "audio/mac/audio_auhal_mac_unittest.cc",
- "audio/mac/audio_device_listener_mac_unittest.cc",
- "audio/mac/audio_low_latency_input_mac_unittest.cc",
- "audio/simple_sources_unittest.cc",
- "audio/sounds/audio_stream_handler_unittest.cc",
- "audio/sounds/sounds_manager_unittest.cc",
- "audio/sounds/test_data.cc",
- "audio/sounds/test_data.h",
- "audio/sounds/wav_audio_handler_unittest.cc",
- "audio/virtual_audio_input_stream_unittest.cc",
- "audio/virtual_audio_output_stream_unittest.cc",
- "audio/win/audio_device_listener_win_unittest.cc",
- "audio/win/audio_low_latency_input_win_unittest.cc",
- "audio/win/audio_low_latency_output_win_unittest.cc",
- "audio/win/audio_output_win_unittest.cc",
- "audio/win/core_audio_util_win_unittest.cc",
"base/android/media_codec_bridge_unittest.cc",
"base/android/media_drm_bridge_unittest.cc",
"base/android/media_source_player_unittest.cc",
+ "base/audio_block_fifo_unittest.cc",
"base/audio_buffer_converter_unittest.cc",
"base/audio_buffer_unittest.cc",
"base/audio_buffer_queue_unittest.cc",
@@ -944,6 +692,7 @@ test("media_unittests") {
"base/video_frame_unittest.cc",
"base/video_frame_pool_unittest.cc",
"base/video_util_unittest.cc",
+ "base/wall_clock_time_source_unittest.cc",
"base/yuv_convert_unittest.cc",
"cdm/aes_decryptor_unittest.cc",
"cdm/json_web_key_unittest.cc",
@@ -1002,7 +751,7 @@ test("media_unittests") {
if (!is_android) {
sources += [
- "audio/audio_input_volume_unittest.cc",
+
"base/container_names_unittest.cc",
"ffmpeg/ffmpeg_common_unittest.cc",
"filters/audio_decoder_unittest.cc",
@@ -1023,24 +772,10 @@ test("media_unittests") {
# ]
}
- if (is_linux && use_cras) {
- sources += [
- "audio/cras/cras_input_unittest.cc",
- "audio/cras/cras_unified_unittest.cc",
- ]
- }
-
if (cpu_arch != "arm" && is_chromeos && use_x11) {
sources += [ "filters/h264_bitstream_buffer_unittest.cc" ]
}
- if (use_alsa) {
- sources += [
- "audio/alsa/alsa_output_unittest.cc",
- "audio/audio_low_latency_input_output_unittest.cc",
- ]
- }
-
if (cpu_arch == "x86" || cpu_arch == "x64") {
sources += [ "base/simd/convert_rgb_to_yuv_unittest.cc" ]
}
@@ -1100,6 +835,8 @@ test("media_unittests") {
":media",
":media_test_support",
"//base/test:test_support",
+ "//media/audio:unittests",
+ "//media/audio:test_support",
"//skia", # Direct dependency required to inherit config.
"//testing/gmock",
"//testing/gtest",
@@ -1137,6 +874,7 @@ test("media_perftests") {
":media_test_support",
":shared_memory_support",
"//base/test:test_support",
+ "//media/audio:test_support",
"//testing/gmock",
"//testing/gtest",
"//testing/perf",
@@ -1230,12 +968,6 @@ if (cpu_arch == "x86" || cpu_arch == "x64") {
source_set("media_test_support") {
sources = [
- "audio/mock_audio_manager.cc",
- "audio/mock_audio_manager.h",
- "audio/mock_audio_source_callback.cc",
- "audio/mock_audio_source_callback.h",
- "audio/test_audio_input_controller_factory.cc",
- "audio/test_audio_input_controller_factory.h",
"base/fake_audio_render_callback.cc",
"base/fake_audio_render_callback.h",
"base/fake_audio_renderer_sink.cc",
@@ -1272,6 +1004,7 @@ source_set("media_test_support") {
]
}
+# TODO(dalecurtis): How to split this across audio/base directories??
component("shared_memory_support") {
sources = [
"audio/audio_parameters.cc",
@@ -1316,6 +1049,7 @@ if (media_use_ffmpeg) {
":media",
":media_test_support",
"//base/test:test_support",
+ "//media/audio:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/ffmpeg",
« no previous file with comments | « DEPS ('k') | media/audio/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698