| # 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("//media/media_options.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| |
| # This is bundled into //media, so all dependencies should be on //media. |
| # APK targets that depend on this indirectly, should also |
| # depend on :media_java to get the corresponding Java classes. |
| source_set("android") { |
| visibility = [ |
| "//media", |
| "//media/filters", |
| ] |
| |
| sources = [ |
| "android_cdm_factory.cc", |
| "android_cdm_factory.h", |
| "android_overlay.cc", |
| "android_overlay.h", |
| "android_util.cc", |
| "android_util.h", |
| "jni_hdr_metadata.cc", |
| "jni_hdr_metadata.h", |
| "media_codec_bridge.h", |
| "media_codec_bridge_impl.cc", |
| "media_codec_bridge_impl.h", |
| "media_codec_direction.h", |
| "media_codec_loop.cc", |
| "media_codec_loop.h", |
| "media_codec_util.cc", |
| "media_codec_util.h", |
| "media_crypto_context.h", |
| "media_crypto_context_impl.cc", |
| "media_crypto_context_impl.h", |
| "media_drm_bridge.cc", |
| "media_drm_bridge.h", |
| "media_drm_bridge_client.cc", |
| "media_drm_bridge_client.h", |
| "media_drm_bridge_delegate.cc", |
| "media_drm_bridge_delegate.h", |
| "media_drm_bridge_factory.cc", |
| "media_drm_bridge_factory.h", |
| "media_drm_storage_bridge.cc", |
| "media_drm_storage_bridge.h", |
| "media_player_bridge.cc", |
| "media_player_bridge.h", |
| "media_player_listener.cc", |
| "media_player_listener.h", |
| "media_resource_getter.cc", |
| "media_resource_getter.h", |
| "media_server_crash_listener.cc", |
| "media_server_crash_listener.h", |
| "media_service_throttler.cc", |
| "media_service_throttler.h", |
| "media_url_interceptor.h", |
| "stream_texture_wrapper.h", |
| ] |
| configs += [ "//media:subcomponent_config" ] |
| public_deps = [ ":media_jni_headers" ] |
| deps = [ |
| "//media/audio", |
| "//media/base", |
| "//media/cdm", |
| "//media/formats", |
| "//net", |
| "//third_party/widevine/cdm:headers", |
| "//ui/gl", |
| "//url", |
| ] |
| if (proprietary_codecs) { |
| sources += [ |
| "extract_sps_and_pps.cc", |
| "extract_sps_and_pps.h", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "media_codec_bridge_impl_unittest.cc", |
| "media_codec_loop_unittest.cc", |
| "media_codec_util_unittest.cc", |
| "media_drm_bridge_unittest.cc", |
| "media_player_bridge_unittest.cc", |
| "media_service_throttler_unittest.cc", |
| ] |
| |
| deps = [ |
| "//base/test:test_support", |
| "//media:test_support", |
| "//net", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/libyuv", |
| "//third_party/widevine/cdm:headers", |
| "//ui/gfx:color_space", |
| ] |
| configs += [ "//media:media_config" ] |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "mock_android_overlay.cc", |
| "mock_android_overlay.h", |
| "mock_media_codec_bridge.cc", |
| "mock_media_codec_bridge.h", |
| "mock_media_crypto_context.cc", |
| "mock_media_crypto_context.h", |
| "test_destruction_observable.cc", |
| "test_destruction_observable.h", |
| ] |
| deps = [ |
| "//base/test:test_support", |
| "//media/base:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| generate_jni("media_jni_headers") { |
| sources = [ |
| "java/src/org/chromium/media/AudioManagerAndroid.java", |
| "java/src/org/chromium/media/AudioTrackOutputStream.java", |
| "java/src/org/chromium/media/CodecProfileLevelList.java", |
| "java/src/org/chromium/media/HdrMetadata.java", |
| "java/src/org/chromium/media/MediaCodecBridge.java", |
| "java/src/org/chromium/media/MediaCodecBridgeBuilder.java", |
| "java/src/org/chromium/media/MediaCodecUtil.java", |
| "java/src/org/chromium/media/MediaDrmBridge.java", |
| "java/src/org/chromium/media/MediaDrmStorageBridge.java", |
| "java/src/org/chromium/media/MediaPlayerBridge.java", |
| "java/src/org/chromium/media/MediaPlayerListener.java", |
| "java/src/org/chromium/media/MediaServerCrashListener.java", |
| ] |
| } |
| |
| java_cpp_enum("java_enums") { |
| sources = [ |
| "media_codec_bridge.h", |
| "media_codec_direction.h", |
| ] |
| } |
| |
| java_cpp_strings("java_switches") { |
| sources = [ "//media/base/media_switches.cc" ] |
| template = "//media/base/android/java_templates/MediaSwitches.java.tmpl" |
| } |
| |
| android_resources("media_java_resources") { |
| sources = [ "java/res/raw/empty.wav" ] |
| } |
| |
| android_library("media_java") { |
| deps = [ |
| ":display_java", |
| ":media_java_resources", |
| "//base:base_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| ] |
| annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] |
| srcjar_deps = [ |
| ":java_enums", |
| ":java_switches", |
| "//media/base:java_enums", |
| ] |
| resources_package = "org.chromium.media" |
| sources = [ |
| "java/src/org/chromium/media/AudioManagerAndroid.java", |
| "java/src/org/chromium/media/AudioTrackOutputStream.java", |
| "java/src/org/chromium/media/BitrateAdjuster.java", |
| "java/src/org/chromium/media/CodecProfileLevelList.java", |
| "java/src/org/chromium/media/HdrMetadata.java", |
| "java/src/org/chromium/media/MaxAnticipatedResolutionEstimator.java", |
| "java/src/org/chromium/media/MediaCodecBridge.java", |
| "java/src/org/chromium/media/MediaCodecBridgeBuilder.java", |
| "java/src/org/chromium/media/MediaCodecEncoder.java", |
| "java/src/org/chromium/media/MediaCodecUtil.java", |
| "java/src/org/chromium/media/MediaDrmBridge.java", |
| "java/src/org/chromium/media/MediaDrmSessionManager.java", |
| "java/src/org/chromium/media/MediaDrmStorageBridge.java", |
| "java/src/org/chromium/media/MediaFormatBuilder.java", |
| "java/src/org/chromium/media/MediaPlayerBridge.java", |
| "java/src/org/chromium/media/MediaPlayerListener.java", |
| "java/src/org/chromium/media/MediaServerCrashListener.java", |
| "java/src/org/chromium/media/ScreenResolutionUtil.java", |
| ] |
| } |
| |
| # TODO (b/146418831): Replace with androidx version |
| android_library("display_java") { |
| sources = [ "java/src/org/chromium/media/DisplayCompat.java" ] |
| |
| deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] |
| } |
| |
| junit_binary("media_base_junit_tests") { |
| sources = [ |
| "java/src/test/org/chromium/media/AudioTrackOutputStreamTest.java", |
| "java/src/test/org/chromium/media/BitrateAdjusterTest.java", |
| "java/src/test/org/chromium/media/MediaFormatBuilderTest.java", |
| ] |
| deps = [ |
| ":media_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//third_party/androidx:androidx_test_runner_java", |
| "//third_party/junit", |
| ] |
| } |
| } else { |
| source_set("android") { |
| } |
| source_set("test_support") { |
| testonly = true |
| } |
| } |