// // Copyright (C) 2019 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // README: // - Before expanding the visiblity of any of the targets in this file, // please add a test that covers the new dependencies in the TEST_MAPPING file // of this directory. We cannot guarantee that ExoPlayer dependents will not // be accidentally broken if it is not covered by presubmit. // - The names in this files follow the pattern exoplayer-dep_name[-module_name] // where dep_name identifies the client, and module_name disambiguates the // module for cases where necessary (example: The same client depends // separately on two exoplayer modules). package { default_applicable_licenses: ["external_exoplayer_license"], } // Added automatically by a large-scale-change // See: http://go/android-license-faq license { name: "external_exoplayer_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", ], license_text: [ "LICENSE", ], } android_library { name: "exoplayer-mediaprovider-ui", srcs: [ "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/java/**/*.java", ], resource_dirs: [ "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/res", ], sdk_version: "31", // Needs to be a prebuilt, so not "current". min_sdk_version: "16", // match with // tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle libs: ["androidx.annotation_annotation"], static_libs: [ "androidx.core_core", "androidx.media_media", "androidx.recyclerview_recyclerview", "error_prone_annotations", "exoplayer-annotation_stubs", "exoplayer-mediaprovider-core", "guava", "jsr305", ], apex_available: [ "com.android.mediaprovider", "//apex_available:platform", ], manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/AndroidManifest.xml", jarjar_rules: "annotation-stripping-jarjar-rules.txt", visibility: ["//packages/providers/MediaProvider:__subpackages__"], notice: "LICENSE" } // Needed because exoplayer-mediaprovider-ui depends on a resource from core, using the core package // name, meaning the resources from this target need to use the package name from core's manifest, // while exoplayer-mediaprovider-ui resources need to keep ui's package name. android_library { name: "exoplayer-mediaprovider-core", srcs: [ "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/common/src/main/java/**/*.java", "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/java/**/*/*.java", "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/database/src/main/java/**/*.java", "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/datasource/src/main/java/**/*.java", "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/decoder/src/main/java/**/*.java", "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/extractor/src/main/java/**/*.java", ], resource_dirs: [ "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/res", ], sdk_version: "31", // Needs to be a prebuilt, so not "current". min_sdk_version: "16", // match with // tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle libs: ["androidx.annotation_annotation"], static_libs: [ "androidx.core_core", "androidx.media_media", "androidx.recyclerview_recyclerview", "error_prone_annotations", "exoplayer-annotation_stubs", "guava", "jsr305", ], apex_available: [ "com.android.mediaprovider", ], manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/AndroidManifest.xml", jarjar_rules: "annotation-stripping-jarjar-rules.txt", visibility: ["//visibility:private"], notice: "LICENSE" } // Used by MediaMuxerTest to test features not supported by MediaExtractor. android_library { name: "exoplayer-mediamuxer_tests", srcs: [ "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/common/src/main/java/**/*.java", "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/decoder/src/main/java/**/*.java", "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/java/**/*.java", "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/database/src/main/java/**/*.java", "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/datasource/src/main/java/**/*.java", "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/main/java/**/*.java", ], manifest: "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/AndroidManifest.xml", resource_dirs: [ "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/res", ], sdk_version: "31", // Needs to be a prebuilt, so not "current". min_sdk_version: "16", // match with // tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle libs: ["androidx.annotation_annotation"], static_libs: [ "androidx.core_core", "error_prone_annotations", "exoplayer-annotation_stubs", "guava", "jsr305", ], jarjar_rules: "annotation-stripping-jarjar-rules.txt", visibility: ["//cts/tests/tests/media/muxer:__subpackages__"], notice: "LICENSE", } java_library { name: "exoplayer-media_apex", srcs: [ "tree/library/extractor/src/main/java/**/*.java", "tree/library/common/src/main/java/**/*.java", ], sdk_version: "29", // Needs to be a prebuilt, so not "current". apex_available: [ "com.android.media", ], min_sdk_version: "16", // match with tree/constants.gradle libs: ["androidx.annotation_annotation"], static_libs: [ "exoplayer-annotation_stubs", "jsr305", ], jarjar_rules: "annotation-stripping-jarjar-rules.txt", visibility: [ "//frameworks/base:__subpackages__", "//packages/modules/Media/apex/framework", ], notice: "LICENSE", } // Exposes util classes for testing MediaParser. android_library { name: "exoplayer-cts_media-test_utils", manifest: "tree/library/extractor/src/test/AndroidManifest.xml", srcs: [ "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/Dumper.java", "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorInput.java", "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorOutput.java", "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeTrackOutput.java", "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/TestUtil.java", "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DatabaseProvider.java", "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DefaultDatabaseProvider.java", ], sdk_version: "29", libs: ["androidx.annotation_annotation"], static_libs: [ "exoplayer-annotation_stubs", "exoplayer-media_apex", "truth-prebuilt", "junit", "androidx.test.core", ], jarjar_rules: "annotation-stripping-jarjar-rules.txt", visibility: ["//cts/tests/tests/mediaparser:__subpackages__"], notice: "LICENSE", } // Exposes the assets for testing MediaParser. android_library { name: "exoplayer-cts_media-test_assets", manifest: "tree/library/extractor/src/main/AndroidManifest.xml", srcs: [], sdk_version: "29", visibility: ["//cts/tests/tests/mediaparser:__subpackages__"], asset_dirs: ["tree/testdata/src/test/assets/"], // Do not compress media files. aaptflags: [ "-0 .ac3", "-0 .ac4", "-0 .adts", "-0 .amr", "-0 .eac3", "-0 .flac", "-0 .flv", "-0 .id3", "-0 .mkv", "-0 .mp3", "-0 .mp4", "-0 .mpg", "-0 .ogg", "-0 .opus", "-0 .ps", "-0 .rawcc", "-0 .ts", "-0 .wav", "-0 .webm", ], } // Compile dummy implementations of annotations used by exoplayer but not // present in the Android tree. java_library { name: "exoplayer-annotation_stubs", host_supported: true, sdk_version: "core_current", apex_available: [ "//apex_available:anyapex", "//apex_available:platform", ], min_sdk_version: "16", srcs: ["annotation-stubs/src/**/*.java"], static_libs: ["jsr305"], visibility: ["//visibility:private"], }