blob: ea96b24d05308b33cdc49ba487b4a623c84c5271 [file] [log] [blame]
Santiago Seifert05490c72019-11-07 18:00:08 +00001//
2// Copyright (C) 2019 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
Santiago Seifertd3b61fb2022-03-28 17:36:20 +000017// README:
18// - Before expanding the visiblity of any of the targets in this file,
19// please add a test that covers the new dependencies in the TEST_MAPPING file
20// of this directory. We cannot guarantee that ExoPlayer dependents will not
21// be accidentally broken if it is not covered by presubmit.
22// - The names in this files follow the pattern exoplayer-dep_name[-module_name]
23// where dep_name identifies the client, and module_name disambiguates the
24// module for cases where necessary (example: The same client depends
25// separately on two exoplayer modules).
Santiago Seifert45a2d842021-10-04 16:02:33 +010026
Bob Badour55512382021-02-12 15:24:07 -080027package {
28 default_applicable_licenses: ["external_exoplayer_license"],
29}
30
31// Added automatically by a large-scale-change
32// See: http://go/android-license-faq
33license {
34 name: "external_exoplayer_license",
35 visibility: [":__subpackages__"],
36 license_kinds: [
37 "SPDX-license-identifier-Apache-2.0",
38 ],
39 license_text: [
40 "LICENSE",
41 ],
42}
43
Sahana Raoe6fbc172021-11-08 07:46:01 +000044android_library {
Santiago Seifertd3b61fb2022-03-28 17:36:20 +000045 name: "exoplayer-mediaprovider-ui",
Santiago Seifert45a2d842021-10-04 16:02:33 +010046 srcs: [
Santiago Seifert59a66c72022-04-14 19:09:51 +000047 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/java/**/*.java",
Sahana Raoe6fbc172021-11-08 07:46:01 +000048 ],
49 resource_dirs: [
Santiago Seifert59a66c72022-04-14 19:09:51 +000050 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/res",
Santiago Seifert45a2d842021-10-04 16:02:33 +010051 ],
Santiago Seifert377dca92021-10-07 11:45:53 +010052 sdk_version: "31", // Needs to be a prebuilt, so not "current".
Santiago Seifert45a2d842021-10-04 16:02:33 +010053 min_sdk_version: "16", // match with
Santiago Seifert59a66c72022-04-14 19:09:51 +000054 // tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle
Santiago Seifert28105b72022-03-31 10:48:29 +000055 libs: ["androidx.annotation_annotation"],
56 static_libs: [
57 "androidx.core_core",
58 "androidx.media_media",
59 "androidx.recyclerview_recyclerview",
60 "error_prone_annotations",
61 "exoplayer-annotation_stubs",
62 "exoplayer-mediaprovider-core",
63 "guava",
64 "jsr305",
65 ],
66 apex_available: [
67 "com.android.mediaprovider",
68 "//apex_available:platform",
69 ],
70
Santiago Seifert59a66c72022-04-14 19:09:51 +000071 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/AndroidManifest.xml",
Santiago Seifert28105b72022-03-31 10:48:29 +000072 jarjar_rules: "annotation-stripping-jarjar-rules.txt",
73 visibility: ["//packages/providers/MediaProvider:__subpackages__"],
74 notice: "LICENSE"
75}
76
77// Needed because exoplayer-mediaprovider-ui depends on a resource from core, using the core package
78// name, meaning the resources from this target need to use the package name from core's manifest,
79// while exoplayer-mediaprovider-ui resources need to keep ui's package name.
80android_library {
81 name: "exoplayer-mediaprovider-core",
82 srcs: [
Santiago Seifert59a66c72022-04-14 19:09:51 +000083 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/common/src/main/java/**/*.java",
84 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/java/**/*/*.java",
85 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/database/src/main/java/**/*.java",
86 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/datasource/src/main/java/**/*.java",
87 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/decoder/src/main/java/**/*.java",
88 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/extractor/src/main/java/**/*.java",
Santiago Seifert28105b72022-03-31 10:48:29 +000089 ],
90 resource_dirs: [
Santiago Seifert59a66c72022-04-14 19:09:51 +000091 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/res",
Santiago Seifert28105b72022-03-31 10:48:29 +000092 ],
93 sdk_version: "31", // Needs to be a prebuilt, so not "current".
94 min_sdk_version: "16", // match with
Santiago Seifert59a66c72022-04-14 19:09:51 +000095 // tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle
Anton Hansson866ac3f2022-01-25 17:06:45 +000096 libs: ["androidx.annotation_annotation"],
Santiago Seifert45a2d842021-10-04 16:02:33 +010097 static_libs: [
Sahana Raoe6fbc172021-11-08 07:46:01 +000098 "androidx.core_core",
99 "androidx.media_media",
100 "androidx.recyclerview_recyclerview",
Santiago Seifert45a2d842021-10-04 16:02:33 +0100101 "error_prone_annotations",
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000102 "exoplayer-annotation_stubs",
Santiago Seifert45a2d842021-10-04 16:02:33 +0100103 "guava",
Sahana Raoe6fbc172021-11-08 07:46:01 +0000104 "jsr305",
Santiago Seifert45a2d842021-10-04 16:02:33 +0100105 ],
Santiago Seifert377dca92021-10-07 11:45:53 +0100106 apex_available: [
107 "com.android.mediaprovider",
108 ],
Santiago Seifert59a66c72022-04-14 19:09:51 +0000109 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/AndroidManifest.xml",
Santiago Seifert45a2d842021-10-04 16:02:33 +0100110 jarjar_rules: "annotation-stripping-jarjar-rules.txt",
Santiago Seifert28105b72022-03-31 10:48:29 +0000111 visibility: ["//visibility:private"],
Santiago Seifert377dca92021-10-07 11:45:53 +0100112 notice: "LICENSE"
Santiago Seifert45a2d842021-10-04 16:02:33 +0100113}
114
Santiago Seifert6681c1d2022-01-14 16:56:46 +0000115
116// Used by MediaMuxerTest to test features not supported by MediaExtractor.
117android_library {
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000118 name: "exoplayer-mediamuxer_tests",
Santiago Seifert6681c1d2022-01-14 16:56:46 +0000119 srcs: [
120 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/common/src/main/java/**/*.java",
121 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/decoder/src/main/java/**/*.java",
122 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/java/**/*.java",
123 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/database/src/main/java/**/*.java",
124 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/datasource/src/main/java/**/*.java",
125 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/main/java/**/*.java",
126 ],
127 manifest: "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/AndroidManifest.xml",
128 resource_dirs: [
129 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/res",
130 ],
131 sdk_version: "31", // Needs to be a prebuilt, so not "current".
132 min_sdk_version: "16", // match with
133 // tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle
Anton Hansson866ac3f2022-01-25 17:06:45 +0000134 libs: ["androidx.annotation_annotation"],
Santiago Seifert6681c1d2022-01-14 16:56:46 +0000135 static_libs: [
Santiago Seifert6681c1d2022-01-14 16:56:46 +0000136 "androidx.core_core",
137 "error_prone_annotations",
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000138 "exoplayer-annotation_stubs",
Santiago Seifert6681c1d2022-01-14 16:56:46 +0000139 "guava",
140 "jsr305",
141 ],
142 jarjar_rules: "annotation-stripping-jarjar-rules.txt",
143 visibility: ["//cts/tests/tests/media/muxer:__subpackages__"],
144 notice: "LICENSE",
145}
146
Santiago Seifert45a2d842021-10-04 16:02:33 +0100147java_library {
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000148 name: "exoplayer-media_apex",
Santiago Seifert98470182020-01-27 12:50:37 +0000149 srcs: [
Santiago Seifert38299582022-01-12 11:32:14 +0000150 "tree/library/extractor/src/main/java/**/*.java",
151 "tree/library/common/src/main/java/**/*.java",
Santiago Seifert98470182020-01-27 12:50:37 +0000152 ],
Santiago Seifert38299582022-01-12 11:32:14 +0000153 sdk_version: "29", // Needs to be a prebuilt, so not "current".
Jooyung Han90084be2020-05-21 22:35:38 +0900154 apex_available: [
155 "com.android.media",
Santiago Seifert38299582022-01-12 11:32:14 +0000156 ],
157 min_sdk_version: "16", // match with tree/constants.gradle
Anton Hansson866ac3f2022-01-25 17:06:45 +0000158 libs: ["androidx.annotation_annotation"],
Santiago Seifert38299582022-01-12 11:32:14 +0000159 static_libs: [
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000160 "exoplayer-annotation_stubs",
Santiago Seifert38299582022-01-12 11:32:14 +0000161 "jsr305",
Santiago Seifert05490c72019-11-07 18:00:08 +0000162 ],
Santiago Seifertb258abb2021-10-04 18:52:36 +0100163 jarjar_rules: "annotation-stripping-jarjar-rules.txt",
Baligh Uddin6f9271c2022-02-11 15:08:38 +0000164 visibility: [
165 "//frameworks/base:__subpackages__",
166 "//packages/modules/Media/apex/framework",
167 ],
Santiago Seifert9f6e0b42019-12-12 14:27:44 +0000168 notice: "LICENSE",
Santiago Seifert05490c72019-11-07 18:00:08 +0000169}
170
Santiago Seifert8ade7bb2020-02-06 16:03:34 +0000171// Exposes util classes for testing MediaParser.
172android_library {
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000173 name: "exoplayer-cts_media-test_utils",
Santiago Seifert38299582022-01-12 11:32:14 +0000174 manifest: "tree/library/extractor/src/test/AndroidManifest.xml",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +0000175 srcs: [
Santiago Seifert38299582022-01-12 11:32:14 +0000176 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/Dumper.java",
177 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorInput.java",
178 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorOutput.java",
179 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeTrackOutput.java",
180 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/TestUtil.java",
181 "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DatabaseProvider.java",
182 "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DefaultDatabaseProvider.java",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +0000183 ],
Anton Hanssonf6cc5bc2020-03-23 10:29:58 +0000184 sdk_version: "29",
Anton Hansson866ac3f2022-01-25 17:06:45 +0000185 libs: ["androidx.annotation_annotation"],
Santiago Seifert8ade7bb2020-02-06 16:03:34 +0000186 static_libs: [
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000187 "exoplayer-annotation_stubs",
188 "exoplayer-media_apex",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +0000189 "truth-prebuilt",
190 "junit",
191 "androidx.test.core",
192 ],
Santiago Seifertb258abb2021-10-04 18:52:36 +0100193 jarjar_rules: "annotation-stripping-jarjar-rules.txt",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +0000194 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"],
195 notice: "LICENSE",
196}
197
198// Exposes the assets for testing MediaParser.
199android_library {
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000200 name: "exoplayer-cts_media-test_assets",
Santiago Seifert38299582022-01-12 11:32:14 +0000201 manifest: "tree/library/extractor/src/main/AndroidManifest.xml",
Santiago Seifert77bdf072020-01-30 16:49:04 +0000202 srcs: [],
Anton Hanssonf6cc5bc2020-03-23 10:29:58 +0000203 sdk_version: "29",
Santiago Seifert77bdf072020-01-30 16:49:04 +0000204 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"],
Santiago Seifert38299582022-01-12 11:32:14 +0000205 asset_dirs: ["tree/testdata/src/test/assets/"],
Santiago Seifert77bdf072020-01-30 16:49:04 +0000206 // Do not compress media files.
207 aaptflags: [
208 "-0 .ac3",
209 "-0 .ac4",
210 "-0 .adts",
211 "-0 .amr",
212 "-0 .eac3",
213 "-0 .flac",
214 "-0 .flv",
215 "-0 .id3",
216 "-0 .mkv",
217 "-0 .mp3",
218 "-0 .mp4",
219 "-0 .mpg",
220 "-0 .ogg",
221 "-0 .opus",
222 "-0 .ps",
223 "-0 .rawcc",
224 "-0 .ts",
225 "-0 .wav",
226 "-0 .webm",
227 ],
228}
Santiago Seifert387b06d2022-03-23 10:22:18 +0000229
230// Compile dummy implementations of annotations used by exoplayer but not
231// present in the Android tree.
232java_library {
Santiago Seifertd3b61fb2022-03-28 17:36:20 +0000233 name: "exoplayer-annotation_stubs",
Santiago Seifert387b06d2022-03-23 10:22:18 +0000234 host_supported: true,
235 sdk_version: "core_current",
236 apex_available: [
237 "//apex_available:anyapex",
238 "//apex_available:platform",
239 ],
240 min_sdk_version: "16",
241 srcs: ["annotation-stubs/src/**/*.java"],
242 static_libs: ["jsr305"],
243 visibility: ["//visibility:private"],
244}