diff options
author | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-11 23:51:04 +0000 |
---|---|---|
committer | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-11 23:52:12 +0000 |
commit | 731326bd632632c779027c8effdaa0e370bfada3 (patch) | |
tree | 8412a59ab1a070b80d127a52f794427dde8d6c42 /media | |
parent | f31fcdd35a03ec6844acf6dd636f1b7a4973afb5 (diff) | |
download | chromium_src-731326bd632632c779027c8effdaa0e370bfada3.zip chromium_src-731326bd632632c779027c8effdaa0e370bfada3.tar.gz chromium_src-731326bd632632c779027c8effdaa0e370bfada3.tar.bz2 |
Split out media/base and media/android into GN targets.
Takes over https://codereview.chromium.org/381293002/
BUG=none
TEST=media_unittests builds and has same number of targets.
Review URL: https://codereview.chromium.org/433193003
Cr-Commit-Position: refs/heads/master@{#288832}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288832 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/BUILD.gn | 441 | ||||
-rw-r--r-- | media/audio/BUILD.gn | 2 | ||||
-rw-r--r-- | media/base/BUILD.gn | 426 | ||||
-rw-r--r-- | media/base/android/BUILD.gn | 87 |
4 files changed, 525 insertions, 431 deletions
diff --git a/media/BUILD.gn b/media/BUILD.gn index 36ad093..2871e72 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -22,7 +22,7 @@ config("media_config") { } } if (use_cras) { - defines = [ "USE_CRAS" ] + defines += [ "USE_CRAS" ] } if (enable_mpeg2ts_stream_parser) { defines += [ "ENABLE_MPEG2TS_STREAM_PARSER" ] @@ -66,150 +66,6 @@ if (use_ozone) { component("media") { sources = [ - "base/audio_block_fifo.cc", - "base/audio_block_fifo.h", - "base/audio_buffer.cc", - "base/audio_buffer.h", - "base/audio_buffer_queue.cc", - "base/audio_buffer_queue.h", - "base/audio_capturer_source.h", - "base/audio_buffer_converter.cc", - "base/audio_buffer_converter.h", - "base/audio_converter.cc", - "base/audio_converter.h", - "base/audio_decoder.cc", - "base/audio_decoder.h", - "base/audio_decoder_config.cc", - "base/audio_decoder_config.h", - "base/audio_discard_helper.cc", - "base/audio_discard_helper.h", - "base/audio_fifo.cc", - "base/audio_fifo.h", - "base/audio_hardware_config.cc", - "base/audio_hardware_config.h", - "base/audio_hash.cc", - "base/audio_hash.h", - "base/audio_pull_fifo.cc", - "base/audio_pull_fifo.h", - "base/audio_renderer.cc", - "base/audio_renderer.h", - "base/audio_renderer_mixer.cc", - "base/audio_renderer_mixer.h", - "base/audio_renderer_mixer_input.cc", - "base/audio_renderer_mixer_input.h", - "base/audio_renderer_sink.h", - "base/audio_splicer.cc", - "base/audio_splicer.h", - "base/audio_timestamp_helper.cc", - "base/audio_timestamp_helper.h", - "base/bind_to_current_loop.h", - "base/bit_reader.cc", - "base/bit_reader.h", - "base/bit_reader_core.cc", - "base/bit_reader_core.h", - "base/bitstream_buffer.h", - "base/buffering_state.h", - "base/buffers.h", - "base/byte_queue.cc", - "base/byte_queue.h", - "base/cdm_promise.cc", - "base/cdm_promise.h", - "base/channel_mixer.cc", - "base/channel_mixer.h", - "base/clock.h", - "base/data_buffer.cc", - "base/data_buffer.h", - "base/data_source.cc", - "base/data_source.h", - "base/decoder_buffer.cc", - "base/decoder_buffer.h", - "base/decoder_buffer_queue.cc", - "base/decoder_buffer_queue.h", - "base/decrypt_config.cc", - "base/decrypt_config.h", - "base/decryptor.cc", - "base/decryptor.h", - "base/demuxer.cc", - "base/demuxer.h", - "base/demuxer_stream.cc", - "base/demuxer_stream.h", - "base/djb2.cc", - "base/djb2.h", - "base/filter_collection.cc", - "base/filter_collection.h", - "base/media.cc", - "base/media.h", - "base/media_keys.cc", - "base/media_keys.h", - "base/media_log.cc", - "base/media_log.h", - "base/media_log_event.h", - "base/media_switches.cc", - "base/media_switches.h", - "base/media_win.cc", - "base/multi_channel_resampler.cc", - "base/multi_channel_resampler.h", - "base/pipeline.cc", - "base/pipeline.h", - "base/pipeline_status.h", - "base/player_tracker.cc", - "base/player_tracker.h", - "base/ranges.cc", - "base/ranges.h", - "base/sample_format.cc", - "base/sample_format.h", - "base/scoped_histogram_timer.h", - "base/seekable_buffer.cc", - "base/seekable_buffer.h", - "base/serial_runner.cc", - "base/serial_runner.h", - "base/simd/convert_rgb_to_yuv.h", - "base/simd/convert_rgb_to_yuv_c.cc", - "base/simd/convert_yuv_to_rgb.h", - "base/simd/convert_yuv_to_rgb_c.cc", - "base/simd/filter_yuv.h", - "base/simd/filter_yuv_c.cc", - "base/simd/yuv_to_rgb_table.cc", - "base/simd/yuv_to_rgb_table.h", - "base/sinc_resampler.cc", - "base/sinc_resampler.h", - "base/stream_parser.cc", - "base/stream_parser.h", - "base/stream_parser_buffer.cc", - "base/stream_parser_buffer.h", - "base/text_cue.cc", - "base/text_cue.h", - "base/text_ranges.cc", - "base/text_ranges.h", - "base/text_renderer.cc", - "base/text_renderer.h", - "base/text_track.h", - "base/text_track_config.cc", - "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", - "base/user_input_monitor_win.cc", - "base/video_decoder.cc", - "base/video_decoder.h", - "base/video_decoder_config.cc", - "base/video_decoder_config.h", - "base/video_frame.cc", - "base/video_frame.h", - "base/video_frame_pool.cc", - "base/video_frame_pool.h", - "base/video_renderer.cc", - "base/video_renderer.h", - "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", "cdm/aes_decryptor.h", "cdm/json_web_key.cc", @@ -387,13 +243,6 @@ component("media") { if (media_use_ffmpeg) { deps += [ "//third_party/ffmpeg" ] sources += [ - "base/audio_video_metadata_extractor.cc", - "base/audio_video_metadata_extractor.h", - "base/container_names.cc", - "base/container_names.h", - "base/media_file_checker.cc", - "base/media_file_checker.h", - "base/media_posix.cc", "ffmpeg/ffmpeg_common.cc", "ffmpeg/ffmpeg_common.h", "filters/audio_file_reader.cc", @@ -431,14 +280,6 @@ component("media") { deps += [ "//third_party/libvpx" ] } - if (enable_browser_cdms) { - sources += [ - "base/browser_cdm.cc", - "base/browser_cdm.h", - "base/browser_cdm_factory.h", - ] - } - if (!is_android) { sources += [ "filters/opus_audio_decoder.cc", @@ -446,13 +287,6 @@ component("media") { ] } else { sources += [ - "base/android/demuxer_android.h", - "base/android/demuxer_stream_player_params.cc", - "base/android/demuxer_stream_player_params.h", - "base/android/media_player_manager.h", - "base/android/media_resource_getter.cc", - "base/android/media_resource_getter.h", - "base/media_stub.cc", "midi/midi_manager_android.cc", "midi/usb_midi_device_android.cc", "midi/usb_midi_device_android.h", @@ -463,11 +297,10 @@ component("media") { "video/capture/android/video_capture_device_factory_android.cc", "video/capture/android/video_capture_device_factory_android.h", ] - defines += [ "DISABLE_USER_INPUT_MONITOR" ] deps += [ - ":media_android_jni_headers", - ":player_android", - ":video_capture_android_jni_headers", + "//media/base/android", + "//media/base/android:media_jni_headers", + "//media/base/android:video_capture_jni_headers", ] if (!is_android_webview_build) { deps += [ ":media_java" ] @@ -488,23 +321,6 @@ component("media") { } # A simple WebM encoder for animated avatars on ChromeOS. - if (is_linux) { - if (use_x11) { - configs += [ - "//build/config/linux:x11", - "//build/config/linux:xext", -# TODO(ajwong): Why does xent get a separate thing in //build/config/linux:BUILD.gn -# "//build/config/linux:xdamage", -# "//build/config/linux:xfixes", -# "//build/config/linux:xtst", - ] - sources += [ - "base/user_input_monitor_linux.cc" - ] - } else { - defines += [ "DISABLE_USER_INPUT_MONITOR" ] - } - } if (use_ozone) { # Used for the generated listing header (ui/ozone/platform_list.h) @@ -595,22 +411,6 @@ component("media") { ] } - if (cpu_arch == "x86" || cpu_arch == "x64") { - sources += [ "base/simd/convert_yuv_to_rgb_x86.cc" ] - deps += [ - ":media_yasm", - ":media_mmx", - ":media_sse2", - ] - } - - if (is_linux || is_win) { - sources += [ - "base/keyboard_event_counter.cc", - "base/keyboard_event_counter.h", - ] - } - deps += [ ":shared_memory_support", "//base", @@ -620,6 +420,7 @@ component("media") { "//crypto:platform", # TODO(ajwong): This used to be provided by crypto.gyp via export_dependent_settings "//gpu/command_buffer/common", "//media/audio", + "//media/base", "//skia", "//third_party/opus", "//ui/events:events_base", @@ -631,53 +432,6 @@ component("media") { test("media_unittests") { sources = [ - "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", - "base/audio_bus_unittest.cc", - "base/audio_converter_unittest.cc", - "base/audio_discard_helper_unittest.cc", - "base/audio_fifo_unittest.cc", - "base/audio_hardware_config_unittest.cc", - "base/audio_hash_unittest.cc", - "base/audio_pull_fifo_unittest.cc", - "base/audio_renderer_mixer_input_unittest.cc", - "base/audio_renderer_mixer_unittest.cc", - "base/audio_splicer_unittest.cc", - "base/audio_timestamp_helper_unittest.cc", - "base/bind_to_current_loop_unittest.cc", - "base/bit_reader_unittest.cc", - "base/callback_holder.h", - "base/callback_holder_unittest.cc", - "base/channel_mixer_unittest.cc", - "base/data_buffer_unittest.cc", - "base/decoder_buffer_queue_unittest.cc", - "base/decoder_buffer_unittest.cc", - "base/djb2_unittest.cc", - "base/gmock_callback_support_unittest.cc", - "base/multi_channel_resampler_unittest.cc", - "base/pipeline_unittest.cc", - "base/ranges_unittest.cc", - "base/run_all_unittests.cc", - "base/scoped_histogram_timer_unittest.cc", - "base/serial_runner_unittest.cc", - "base/seekable_buffer_unittest.cc", - "base/sinc_resampler_unittest.cc", - "base/stream_parser_unittest.cc", - "base/text_ranges_unittest.cc", - "base/text_renderer_unittest.cc", - "base/user_input_monitor_unittest.cc", - "base/vector_math_testing.h", - "base/vector_math_unittest.cc", - "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", "filters/audio_clock_unittest.cc", @@ -726,17 +480,8 @@ test("media_unittests") { "formats/webm/webm_webvtt_parser_unittest.cc", ] - if (media_use_ffmpeg) { - sources += [ - "base/audio_video_metadata_extractor_unittest.cc", - "base/media_file_checker_unittest.cc", - ] - } - if (!is_android) { sources += [ - - "base/container_names_unittest.cc", "ffmpeg/ffmpeg_common_unittest.cc", "filters/audio_decoder_unittest.cc", "filters/audio_file_reader_unittest.cc", @@ -760,10 +505,6 @@ test("media_unittests") { sources += [ "filters/h264_bitstream_buffer_unittest.cc" ] } - if (cpu_arch == "x86" || cpu_arch == "x64") { - sources += [ "base/simd/convert_rgb_to_yuv_unittest.cc" ] - } - if (proprietary_codecs) { sources += [ "filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc", @@ -821,6 +562,8 @@ test("media_unittests") { "//base/test:test_support", "//media/audio:unittests", "//media/audio:test_support", + "//media/base:unittests", + "//media/base:test_support", "//skia", # Direct dependency required to inherit config. "//testing/gmock", "//testing/gtest", @@ -836,17 +579,9 @@ test("media_unittests") { } test("media_perftests") { - sources = [ - "base/audio_bus_perftest.cc", - "base/audio_converter_perftest.cc", - "base/run_all_perftests.cc", - "base/sinc_resampler_perftest.cc", - "base/vector_math_perftest.cc", - "base/yuv_convert_perftest.cc", - ] + sources = [] if (media_use_ffmpeg) { sources += [ - "base/demuxer_perftest.cc", "filters/pipeline_integration_perftest.cc", "filters/pipeline_integration_test_base.cc", ] @@ -858,6 +593,8 @@ test("media_perftests") { ":test_support", "//base/test:test_support", "//media/audio:test_support", + "//media/base:perftests", + "//media/base:test_support", "//testing/gmock", "//testing/gtest", "//testing/perf", @@ -874,102 +611,8 @@ test("media_perftests") { } } -if (cpu_arch == "x86" || cpu_arch == "x64") { - source_set("media_mmx") { - sources = [ "base/simd/filter_yuv_mmx.cc" ] - configs += [ ":media_config" ] - cflags = [ "-mmmx" ] - } - - source_set("media_sse2") { - sources = [ - "base/simd/convert_rgb_to_yuv_sse2.cc", - "base/simd/convert_rgb_to_yuv_ssse3.cc", - "base/simd/filter_yuv_sse2.cc", - ] - configs += [ ":media_config" ] - cflags = [ "-msse2" ] - } - - import("//third_party/yasm/yasm_assemble.gni") - yasm_assemble("media_yasm") { - sources = [ - "base/simd/convert_rgb_to_yuv_ssse3.asm", - "base/simd/convert_yuv_to_rgb_mmx.asm", - "base/simd/convert_yuv_to_rgb_sse.asm", - "base/simd/convert_yuva_to_argb_mmx.asm", - "base/simd/empty_register_state_mmx.asm", - "base/simd/linear_scale_yuv_to_rgb_mmx.asm", - "base/simd/linear_scale_yuv_to_rgb_sse.asm", - "base/simd/scale_yuv_to_rgb_mmx.asm", - "base/simd/scale_yuv_to_rgb_sse.asm", - ] - - # TODO(ajwong): Only export if shared_library build... - yasm_flags = [ - "-DCHROMIUM", - "-DEXPORT_SYMBOLS", - # In addition to the same path as source asm, let yasm %include - # search path be relative to src/ per Chromium policy. - "-I", rebase_path("..", root_build_dir), - ] - - inputs = [ - "//third_party/x86inc/x86inc.asm", - "base/simd/convert_rgb_to_yuv_ssse3.inc", - "base/simd/convert_yuv_to_rgb_mmx.inc", - "base/simd/convert_yuva_to_argb_mmx.inc", - "base/simd/linear_scale_yuv_to_rgb_mmx.inc", - "base/simd/media_export.asm", - "base/simd/scale_yuv_to_rgb_mmx.inc", - ] - - if (cpu_arch == "x86") { - yasm_flags += [ "-DARCH_X86_32" ] - } else if (cpu_arch == "x64") { - yasm_flags += [ "-DARCH_X86_64" ] - sources += [ - "base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm", - "base/simd/scale_yuv_to_rgb_sse2_x64.asm", - ] - } - - if (is_mac) { - yasm_flags += [ - "-DPREFIX", - "-DMACHO", - ] - } else { - if (is_posix) { - yasm_flags += [ "-DELF" ] - if (cpu_arch == "x64") { - # TODO(ajwong): Why isn't this true in mac? - yasm_flags += [ "-DPIC" ] - } - } - } - } -} - source_set("test_support") { sources = [ - "base/fake_audio_render_callback.cc", - "base/fake_audio_render_callback.h", - "base/fake_audio_renderer_sink.cc", - "base/fake_audio_renderer_sink.h", - "base/fake_text_track_stream.cc", - "base/fake_text_track_stream.h", - "base/gmock_callback_support.h", - "base/mock_audio_renderer_sink.cc", - "base/mock_audio_renderer_sink.h", - "base/mock_demuxer_host.cc", - "base/mock_demuxer_host.h", - "base/mock_filters.cc", - "base/mock_filters.h", - "base/test_data_util.cc", - "base/test_data_util.h", - "base/test_helpers.cc", - "base/test_helpers.h", "filters/clockless_video_frame_scheduler.cc", "filters/clockless_video_frame_scheduler.h", "filters/mock_gpu_video_accelerator_factories.cc", @@ -1035,6 +678,7 @@ if (media_use_ffmpeg) { ":test_support", "//base/test:test_support", "//media/audio:test_support", + "//media/base:test_support", "//testing/gmock", "//testing/gtest", "//third_party/ffmpeg", @@ -1085,67 +729,6 @@ if (use_x11) { if (is_android) { import("//build/config/android/rules.gni") - source_set("player_android") { - configs += [ ":media_config" ] - sources = [ - "base/android/audio_decoder_job.cc", - "base/android/audio_decoder_job.h", - "base/android/browser_cdm_factory_android.cc", - "base/android/media_codec_bridge.cc", - "base/android/media_codec_bridge.h", - "base/android/media_decoder_job.cc", - "base/android/media_decoder_job.h", - "base/android/media_drm_bridge.cc", - "base/android/media_drm_bridge.h", - "base/android/media_jni_registrar.cc", - "base/android/media_jni_registrar.h", - "base/android/media_player_android.cc", - "base/android/media_player_android.h", - "base/android/media_player_bridge.cc", - "base/android/media_player_bridge.h", - "base/android/media_player_listener.cc", - "base/android/media_player_listener.h", - "base/android/media_source_player.cc", - "base/android/media_source_player.h", - "base/android/video_decoder_job.cc", - "base/android/video_decoder_job.h", - "base/android/webaudio_media_codec_bridge.cc", - "base/android/webaudio_media_codec_bridge.h", - "base/android/webaudio_media_codec_info.h", - ] - - deps = [ - ":media_android_jni_headers", - "//base", - "//third_party/widevine/cdm:version_h", - "//ui/gl", - "//url" - ] - } - - generate_jni("media_android_jni_headers") { - sources = [ - "base/android/java/src/org/chromium/media/AudioManagerAndroid.java", - "base/android/java/src/org/chromium/media/AudioRecordInput.java", - "base/android/java/src/org/chromium/media/MediaCodecBridge.java", - "base/android/java/src/org/chromium/media/MediaDrmBridge.java", - "base/android/java/src/org/chromium/media/MediaPlayerBridge.java", - "base/android/java/src/org/chromium/media/MediaPlayerListener.java", - "base/android/java/src/org/chromium/media/UsbMidiDeviceAndroid.java", - "base/android/java/src/org/chromium/media/UsbMidiDeviceFactoryAndroid.java", - "base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java", - ] - jni_package = "media" - } - - generate_jni("video_capture_android_jni_headers") { - sources = [ - "base/android/java/src/org/chromium/media/VideoCapture.java", - "base/android/java/src/org/chromium/media/VideoCaptureFactory.java", - ] - jni_package = "media" - } - android_library("media_java") { srcjar_deps = [ ":media_android_imageformat_list", @@ -1162,6 +745,4 @@ if (is_android) { ] package_name = "org/chromium/media" } - - # TODO(dalecurtis): Finish media_unittests_apk and media_perftests_apk. } diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn index 835c135..e6ac957 100644 --- a/media/audio/BUILD.gn +++ b/media/audio/BUILD.gn @@ -164,7 +164,7 @@ source_set("audio") { "android/opensles_wrapper.cc", ] deps += [ - "//media:media_android_jni_headers", + "//media/base/android:media_jni_headers", ] } diff --git a/media/base/BUILD.gn b/media/base/BUILD.gn new file mode 100644 index 0000000..fe75b85 --- /dev/null +++ b/media/base/BUILD.gn @@ -0,0 +1,426 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/android/config.gni") +import("//build/config/arm.gni") +import("//build/config/ui.gni") +import("//build/config/linux/pkg_config.gni") +import("//media/media_options.gni") + +source_set("base") { + sources = [ + "audio_block_fifo.cc", + "audio_block_fifo.h", + "audio_buffer.cc", + "audio_buffer.h", + "audio_buffer_queue.cc", + "audio_buffer_queue.h", + "audio_capturer_source.h", + "audio_buffer_converter.cc", + "audio_buffer_converter.h", + "audio_converter.cc", + "audio_converter.h", + "audio_decoder.cc", + "audio_decoder.h", + "audio_decoder_config.cc", + "audio_decoder_config.h", + "audio_discard_helper.cc", + "audio_discard_helper.h", + "audio_fifo.cc", + "audio_fifo.h", + "audio_hardware_config.cc", + "audio_hardware_config.h", + "audio_hash.cc", + "audio_hash.h", + "audio_pull_fifo.cc", + "audio_pull_fifo.h", + "audio_renderer.cc", + "audio_renderer.h", + "audio_renderer_mixer.cc", + "audio_renderer_mixer.h", + "audio_renderer_mixer_input.cc", + "audio_renderer_mixer_input.h", + "audio_renderer_sink.h", + "audio_splicer.cc", + "audio_splicer.h", + "audio_timestamp_helper.cc", + "audio_timestamp_helper.h", + "bind_to_current_loop.h", + "bit_reader.cc", + "bit_reader.h", + "bit_reader_core.cc", + "bit_reader_core.h", + "bitstream_buffer.h", + "buffering_state.h", + "buffers.h", + "byte_queue.cc", + "byte_queue.h", + "cdm_promise.cc", + "cdm_promise.h", + "channel_mixer.cc", + "channel_mixer.h", + "clock.h", + "data_buffer.cc", + "data_buffer.h", + "data_source.cc", + "data_source.h", + "decoder_buffer.cc", + "decoder_buffer.h", + "decoder_buffer_queue.cc", + "decoder_buffer_queue.h", + "decrypt_config.cc", + "decrypt_config.h", + "decryptor.cc", + "decryptor.h", + "demuxer.cc", + "demuxer.h", + "demuxer_stream.cc", + "demuxer_stream.h", + "djb2.cc", + "djb2.h", + "filter_collection.cc", + "filter_collection.h", + "media.cc", + "media.h", + "media_keys.cc", + "media_keys.h", + "media_log.cc", + "media_log.h", + "media_log_event.h", + "media_switches.cc", + "media_switches.h", + "multi_channel_resampler.cc", + "multi_channel_resampler.h", + "pipeline.cc", + "pipeline.h", + "pipeline_status.h", + "player_tracker.cc", + "player_tracker.h", + "ranges.cc", + "ranges.h", + "sample_format.cc", + "sample_format.h", + "scoped_histogram_timer.h", + "seekable_buffer.cc", + "seekable_buffer.h", + "serial_runner.cc", + "serial_runner.h", + "simd/convert_rgb_to_yuv.h", + "simd/convert_rgb_to_yuv_c.cc", + "simd/convert_yuv_to_rgb.h", + "simd/convert_yuv_to_rgb_c.cc", + "simd/filter_yuv.h", + "simd/filter_yuv_c.cc", + "simd/yuv_to_rgb_table.cc", + "simd/yuv_to_rgb_table.h", + "sinc_resampler.cc", + "sinc_resampler.h", + "stream_parser.cc", + "stream_parser.h", + "stream_parser_buffer.cc", + "stream_parser_buffer.h", + "text_cue.cc", + "text_cue.h", + "text_ranges.cc", + "text_ranges.h", + "text_renderer.cc", + "text_renderer.h", + "text_track.h", + "text_track_config.cc", + "text_track_config.h", + "time_delta_interpolator.cc", + "time_delta_interpolator.h", + "time_source.h", + "user_input_monitor.cc", + "user_input_monitor.h", + "video_decoder.cc", + "video_decoder.h", + "video_decoder_config.cc", + "video_decoder_config.h", + "video_frame.cc", + "video_frame.h", + "video_frame_pool.cc", + "video_frame_pool.h", + "video_renderer.cc", + "video_renderer.h", + "video_rotation.h", + "video_util.cc", + "video_util.h", + "wall_clock_time_source.cc", + "wall_clock_time_source.h", + "yuv_convert.cc", + "yuv_convert.h", + ] + defines = [] + deps = [ "//skia" ] + libs = [] + configs += [ "//media:media_config" ] + + if (media_use_ffmpeg) { + sources += [ + "audio_video_metadata_extractor.cc", + "audio_video_metadata_extractor.h", + "container_names.cc", + "container_names.h", + "media_file_checker.cc", + "media_file_checker.h", + ] + deps += [ "//third_party/ffmpeg" ] + } + + if (enable_browser_cdms) { + sources += [ + "browser_cdm.cc", + "browser_cdm.h", + "browser_cdm_factory.h", + ] + } + + if (is_android) { + sources += [ "media_stub.cc" ] + } else if (is_win) { + sources += [ "media_win.cc" ] + } else if (is_posix) { + sources += [ "media_posix.cc" ] + } + + if (is_linux && use_x11) { + configs += [ + "//build/config/linux:x11", + "//build/config/linux:xext", + # TODO(ajwong): Why does xent get a separate thing in //build/config/linux:BUILD.gn + # "//build/config/linux:xdamage", + # "//build/config/linux:xfixes", + # "//build/config/linux:xtst", + ] + sources += [ "user_input_monitor_linux.cc" ] + } else if (is_mac) { + sources += [ "user_input_monitor_mac.cc" ] + } else if (is_win) { + sources += [ "user_input_monitor_win.cc" ] + } else { + defines += [ "DISABLE_USER_INPUT_MONITOR" ] + } + + if (cpu_arch == "x86" || cpu_arch == "x64") { + sources += [ "simd/convert_yuv_to_rgb_x86.cc" ] + deps += [ + ":media_yasm", + ":media_mmx", + ":media_sse2", + ] + } + + if (is_linux || is_win) { + sources += [ + "keyboard_event_counter.cc", + "keyboard_event_counter.h", + ] + } +} + +source_set("test_support") { + sources = [ + "fake_audio_render_callback.cc", + "fake_audio_render_callback.h", + "fake_audio_renderer_sink.cc", + "fake_audio_renderer_sink.h", + "fake_text_track_stream.cc", + "fake_text_track_stream.h", + "gmock_callback_support.h", + "mock_audio_renderer_sink.cc", + "mock_audio_renderer_sink.h", + "mock_demuxer_host.cc", + "mock_demuxer_host.h", + "mock_filters.cc", + "mock_filters.h", + "test_data_util.cc", + "test_data_util.h", + "test_helpers.cc", + "test_helpers.h", + ] + configs += [ "//media:media_config" ] + deps = [ "//testing/gmock" ] +} + +source_set("unittests") { + sources = [ + "audio_block_fifo_unittest.cc", + "audio_buffer_converter_unittest.cc", + "audio_buffer_unittest.cc", + "audio_buffer_queue_unittest.cc", + "audio_bus_unittest.cc", + "audio_converter_unittest.cc", + "audio_discard_helper_unittest.cc", + "audio_fifo_unittest.cc", + "audio_hardware_config_unittest.cc", + "audio_hash_unittest.cc", + "audio_pull_fifo_unittest.cc", + "audio_renderer_mixer_input_unittest.cc", + "audio_renderer_mixer_unittest.cc", + "audio_splicer_unittest.cc", + "audio_timestamp_helper_unittest.cc", + "bind_to_current_loop_unittest.cc", + "bit_reader_unittest.cc", + "callback_holder.h", + "callback_holder_unittest.cc", + "channel_mixer_unittest.cc", + "data_buffer_unittest.cc", + "decoder_buffer_queue_unittest.cc", + "decoder_buffer_unittest.cc", + "djb2_unittest.cc", + "gmock_callback_support_unittest.cc", + "multi_channel_resampler_unittest.cc", + "pipeline_unittest.cc", + "ranges_unittest.cc", + "run_all_unittests.cc", + "scoped_histogram_timer_unittest.cc", + "serial_runner_unittest.cc", + "seekable_buffer_unittest.cc", + "sinc_resampler_unittest.cc", + "stream_parser_unittest.cc", + "text_ranges_unittest.cc", + "text_renderer_unittest.cc", + "user_input_monitor_unittest.cc", + "vector_math_testing.h", + "vector_math_unittest.cc", + "video_frame_unittest.cc", + "video_frame_pool_unittest.cc", + "video_util_unittest.cc", + "wall_clock_time_source_unittest.cc", + "yuv_convert_unittest.cc", + ] + configs += [ "//media:media_config" ] + deps = [ + ":base", + ":test_support", + "//skia", + "//testing/gmock", + "//testing/gtest", + ] + + if (media_use_ffmpeg) { + sources += [ + "audio_video_metadata_extractor_unittest.cc", + "media_file_checker_unittest.cc", + ] + } + + if (!is_android) { + sources += [ + "container_names_unittest.cc", + ] + } else { + deps += [ "//ui/gl" ] + } + + if (cpu_arch == "x86" || cpu_arch == "x64") { + sources += [ "simd/convert_rgb_to_yuv_unittest.cc" ] + } +} + +source_set("perftests") { + sources = [ + "audio_bus_perftest.cc", + "audio_converter_perftest.cc", + "run_all_perftests.cc", + "sinc_resampler_perftest.cc", + "vector_math_perftest.cc", + "yuv_convert_perftest.cc", + ] + configs += [ "//media:media_config" ] + deps = [ + ":base", + ":test_support", + "//testing/gmock", + "//testing/gtest", + ] + + if (media_use_ffmpeg) { + sources += [ + "demuxer_perftest.cc", + ] + } + + if (is_android) { + deps += [ "//ui/gl"] + } +} + +if (cpu_arch == "x86" || cpu_arch == "x64") { + source_set("media_mmx") { + sources = [ "simd/filter_yuv_mmx.cc" ] + configs += [ "//media:media_config" ] + cflags = [ "-mmmx" ] + } + + source_set("media_sse2") { + sources = [ + "simd/convert_rgb_to_yuv_sse2.cc", + "simd/convert_rgb_to_yuv_ssse3.cc", + "simd/filter_yuv_sse2.cc", + ] + configs += [ "//media:media_config" ] + cflags = [ "-msse2" ] + } + + import("//third_party/yasm/yasm_assemble.gni") + yasm_assemble("media_yasm") { + sources = [ + "simd/convert_rgb_to_yuv_ssse3.asm", + "simd/convert_yuv_to_rgb_mmx.asm", + "simd/convert_yuv_to_rgb_sse.asm", + "simd/convert_yuva_to_argb_mmx.asm", + "simd/empty_register_state_mmx.asm", + "simd/linear_scale_yuv_to_rgb_mmx.asm", + "simd/linear_scale_yuv_to_rgb_sse.asm", + "simd/scale_yuv_to_rgb_mmx.asm", + "simd/scale_yuv_to_rgb_sse.asm", + ] + + # TODO(ajwong): Only export if shared_library build... + yasm_flags = [ + "-DCHROMIUM", + "-DEXPORT_SYMBOLS", + # In addition to the same path as source asm, let yasm %include + # search path be relative to src/ per Chromium policy. + "-I", rebase_path("..", root_build_dir), + ] + + inputs = [ + "//third_party/x86inc/x86inc.asm", + "simd/convert_rgb_to_yuv_ssse3.inc", + "simd/convert_yuv_to_rgb_mmx.inc", + "simd/convert_yuva_to_argb_mmx.inc", + "simd/linear_scale_yuv_to_rgb_mmx.inc", + "simd/media_export.asm", + "simd/scale_yuv_to_rgb_mmx.inc", + ] + + if (cpu_arch == "x86") { + yasm_flags += [ "-DARCH_X86_32" ] + } else if (cpu_arch == "x64") { + yasm_flags += [ "-DARCH_X86_64" ] + sources += [ + "simd/linear_scale_yuv_to_rgb_mmx_x64.asm", + "simd/scale_yuv_to_rgb_sse2_x64.asm", + ] + } + + if (is_mac) { + yasm_flags += [ + "-DPREFIX", + "-DMACHO", + ] + } else { + if (is_posix) { + yasm_flags += [ "-DELF" ] + if (cpu_arch == "x64") { + # TODO(ajwong): Why isn't this true in mac? + yasm_flags += [ "-DPIC" ] + } + } + } + } +} diff --git a/media/base/android/BUILD.gn b/media/base/android/BUILD.gn new file mode 100644 index 0000000..a1b9999 --- /dev/null +++ b/media/base/android/BUILD.gn @@ -0,0 +1,87 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/android/config.gni") +import("//build/config/android/rules.gni") +import("//build/config/arm.gni") +import("//build/config/ui.gni") +import("//media/media_options.gni") + +assert(is_android) + +source_set("android") { + sources = [ + "audio_decoder_job.cc", + "audio_decoder_job.h", + "browser_cdm_factory_android.cc", + "demuxer_android.h", + "demuxer_stream_player_params.cc", + "demuxer_stream_player_params.h", + "media_codec_bridge.cc", + "media_codec_bridge.h", + "media_decoder_job.cc", + "media_decoder_job.h", + "media_drm_bridge.cc", + "media_drm_bridge.h", + "media_jni_registrar.cc", + "media_jni_registrar.h", + "media_player_android.cc", + "media_player_android.h", + "media_player_bridge.cc", + "media_player_bridge.h", + "media_player_listener.cc", + "media_player_listener.h", + "media_player_manager.h", + "media_resource_getter.cc", + "media_resource_getter.h", + "media_source_player.cc", + "media_source_player.h", + "media_url_interceptor.h", + "video_decoder_job.cc", + "video_decoder_job.h", + "webaudio_media_codec_bridge.cc", + "webaudio_media_codec_bridge.h", + "webaudio_media_codec_info.h", + ] + configs += [ "//media:media_config" ] + deps = [ ":media_jni_headers" ] +} + +source_set("unittests") { + sources = [ + "media_codec_bridge_unittest.cc", + "media_drm_bridge_unittest.cc", + "media_source_player_unittest.cc", + ] + deps = [ + ":android", + "//media/base:test_support", + "//testing/gmock", + "//testing/gtest", + ] + configs += [ "//media:media_config" ] +} + +generate_jni("media_jni_headers") { + sources = [ + "java/src/org/chromium/media/AudioManagerAndroid.java", + "java/src/org/chromium/media/AudioRecordInput.java", + "java/src/org/chromium/media/MediaCodecBridge.java", + "java/src/org/chromium/media/MediaDrmBridge.java", + "java/src/org/chromium/media/MediaPlayerBridge.java", + "java/src/org/chromium/media/MediaPlayerListener.java", + "java/src/org/chromium/media/UsbMidiDeviceAndroid.java", + "java/src/org/chromium/media/UsbMidiDeviceFactoryAndroid.java", + "java/src/org/chromium/media/WebAudioMediaCodecBridge.java", + ] + jni_package = "media" +} + +generate_jni("video_capture_jni_headers") { + sources = [ + "java/src/org/chromium/media/VideoCapture.java", + "java/src/org/chromium/media/VideoCaptureFactory.java", + ] + jni_package = "media" +} |