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", |