1// 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 17// 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). 26 27package { 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 44android_library { 45 name: "exoplayer-mediaprovider-ui", 46 srcs: [ 47 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/java/**/*.java", 48 ], 49 resource_dirs: [ 50 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/res", 51 ], 52 sdk_version: "31", // Needs to be a prebuilt, so not "current". 53 min_sdk_version: "21", // match with tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle 54 libs: ["androidx.annotation_annotation"], 55 static_libs: [ 56 "androidx.core_core", 57 "androidx.media_media", 58 "androidx.recyclerview_recyclerview", 59 "error_prone_annotations", 60 "exoplayer-annotation_stubs", 61 "exoplayer-mediaprovider-core", 62 "guava", 63 "jsr305", 64 ], 65 apex_available: [ 66 "com.android.mediaprovider", 67 "//apex_available:platform", 68 ], 69 70 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/AndroidManifest.xml", 71 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 72 visibility: ["//packages/providers/MediaProvider:__subpackages__"], 73} 74 75// Needed because exoplayer-mediaprovider-ui depends on a resource from core, using the core package 76// name, meaning the resources from this target need to use the package name from core's manifest, 77// while exoplayer-mediaprovider-ui resources need to keep ui's package name. 78android_library { 79 name: "exoplayer-mediaprovider-core", 80 srcs: [ 81 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/common/src/main/java/**/*.java", 82 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/java/**/*/*.java", 83 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/database/src/main/java/**/*.java", 84 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/datasource/src/main/java/**/*.java", 85 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/decoder/src/main/java/**/*.java", 86 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/extractor/src/main/java/**/*.java", 87 ], 88 resource_dirs: [ 89 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/res", 90 ], 91 sdk_version: "31", // Needs to be a prebuilt, so not "current". 92 min_sdk_version: "21", // match with tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle 93 libs: ["androidx.annotation_annotation"], 94 static_libs: [ 95 "androidx.core_core", 96 "androidx.media_media", 97 "androidx.recyclerview_recyclerview", 98 "error_prone_annotations", 99 "exoplayer-annotation_stubs", 100 "guava", 101 "jsr305", 102 ], 103 apex_available: [ 104 "com.android.mediaprovider", 105 "//apex_available:platform", 106 ], 107 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/AndroidManifest.xml", 108 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 109 visibility: ["//visibility:private"], 110} 111 112// Used by MediaMuxerTest to test features not supported by MediaExtractor. 113android_library { 114 name: "exoplayer-mediamuxer_tests", 115 srcs: [ 116 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/common/src/main/java/**/*.java", 117 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/decoder/src/main/java/**/*.java", 118 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/java/**/*.java", 119 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/database/src/main/java/**/*.java", 120 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/datasource/src/main/java/**/*.java", 121 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/main/java/**/*.java", 122 ], 123 manifest: "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/AndroidManifest.xml", 124 resource_dirs: [ 125 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/res", 126 ], 127 sdk_version: "31", // Needs to be a prebuilt, so not "current". 128 min_sdk_version: "21", // match with tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle 129 libs: ["androidx.annotation_annotation"], 130 static_libs: [ 131 "androidx.core_core", 132 "error_prone_annotations", 133 "exoplayer-annotation_stubs", 134 "guava", 135 "jsr305", 136 ], 137 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 138 visibility: ["//cts/tests/tests/media/muxer:__subpackages__"], 139} 140 141// Used by MediaParser to implement media container files parsing. 142java_library { 143 name: "exoplayer-media_apex", 144 srcs: [ 145 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/decoder/src/main/java/**/*.java", 146 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/main/java/**/*.java", 147 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/common/src/main/java/**/*.java", 148 ], 149 sdk_version: "31", // Needs to be a prebuilt, so not "current". 150 apex_available: [ 151 "com.android.media", 152 "//apex_available:platform", 153 ], 154 min_sdk_version: "21", // match with tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle 155 libs: ["androidx.annotation_annotation"], 156 static_libs: [ 157 "exoplayer-annotation_stubs", 158 "error_prone_annotations", 159 "guava", 160 "jsr305", 161 ], 162 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 163 visibility: [ 164 "//frameworks/base:__subpackages__", 165 "//packages/modules/Media/apex/framework", 166 ], 167} 168 169android_library { 170 name: "exoplayer-vendor_cwral", 171 srcs: [ 172 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/*.java", 173 ], 174 sdk_version: "31", // Needs to be a prebuilt, so not "current". 175 min_sdk_version: "21", // match with tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle 176 libs: ["androidx.annotation_annotation"], 177 static_libs: [ 178 "androidx.core_core", 179 "error_prone_annotations", 180 "exoplayer-annotation_stubs", 181 "exoplayer-vendor_cwral-core", 182 "guava", 183 "jsr305", 184 ], 185 apex_available: [ 186 "//apex_available:platform", 187 ], 188 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/AndroidManifest.xml", 189 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 190 visibility: ["//vendor:__subpackages__"], 191} 192 193android_library { 194 name: "exoplayer-vendor_cwral-core", 195 srcs: [ 196 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/common/src/main/java/**/*.java", 197 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/java/**/*/*.java", 198 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/database/src/main/java/**/*.java", 199 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/datasource/src/main/java/**/*.java", 200 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/decoder/src/main/java/**/*.java", 201 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/extractor/src/main/java/**/*.java", 202 ], 203 resource_dirs: [ 204 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/res", 205 ], 206 sdk_version: "31", // Needs to be a prebuilt, so not "current". 207 min_sdk_version: "21", // match with tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle 208 libs: ["androidx.annotation_annotation"], 209 static_libs: [ 210 "androidx.core_core", 211 "error_prone_annotations", 212 "exoplayer-annotation_stubs", 213 "guava", 214 "jsr305", 215 ], 216 apex_available: [ 217 "//apex_available:platform", 218 ], 219 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/AndroidManifest.xml", 220 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 221 visibility: ["//visibility:private"], 222} 223 224// Exposes util classes for testing MediaParser. 225android_library { 226 name: "exoplayer-cts_media-test_utils", 227 manifest: "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/test/AndroidManifest.xml", 228 srcs: [ 229 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/datasource/src/main/java/**/*.java", 230 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/database/src/main/java/**/*.java", 231 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/Dumper.java", 232 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorInput.java", 233 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorOutput.java", 234 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeTrackOutput.java", 235 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/TestUtil.java", 236 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/TestUtil.java", 237 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/DumpableFormat.java", 238 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testutils/src/main/java/com/google/android/exoplayer2/testutil/NoUidTimeline.java", 239 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/java/com/google/android/exoplayer2/source/ForwardingTimeline.java", 240 ], 241 sdk_version: "31", 242 min_sdk_version: "21", // match with tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle 243 libs: ["androidx.annotation_annotation"], 244 static_libs: [ 245 "exoplayer-annotation_stubs", 246 "exoplayer-media_apex", 247 "truth", 248 "junit", 249 "androidx.test.core", 250 ], 251 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 252 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"], 253} 254 255// Exposes the assets for testing MediaParser. 256android_library { 257 name: "exoplayer-cts_media-test_assets", 258 manifest: "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/main/AndroidManifest.xml", 259 srcs: [], 260 min_sdk_version: "21", // match with tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle 261 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"], 262 asset_dirs: ["tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/testdata/src/test/assets/"], 263 // Do not compress media files. 264 aaptflags: [ 265 "-0 .ac3", 266 "-0 .ac4", 267 "-0 .adts", 268 "-0 .amr", 269 "-0 .eac3", 270 "-0 .flac", 271 "-0 .flv", 272 "-0 .id3", 273 "-0 .mkv", 274 "-0 .mp3", 275 "-0 .mp4", 276 "-0 .mpg", 277 "-0 .ogg", 278 "-0 .opus", 279 "-0 .ps", 280 "-0 .rawcc", 281 "-0 .ts", 282 "-0 .wav", 283 "-0 .webm", 284 ], 285} 286 287// Compile dummy implementations of annotations used by exoplayer but not 288// present in the Android tree. 289java_library { 290 name: "exoplayer-annotation_stubs", 291 host_supported: true, 292 sdk_version: "core_current", 293 apex_available: [ 294 "//apex_available:anyapex", 295 "//apex_available:platform", 296 ], 297 min_sdk_version: "21", 298 srcs: ["annotation-stubs/src/**/*.java"], 299 static_libs: ["jsr305"], 300 visibility: ["//visibility:private"], 301} 302