blob: 9ecbda7559d4bae1ed12f0420a4927dccbebb6f7 [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 Seifert8ade7bb2020-02-06 16:03:34 +000017// Exposes ExoPlayer classes required for implementing the MediaParser API.
Santiago Seifert05490c72019-11-07 18:00:08 +000018android_library {
Santiago Seifertf24a2e32020-01-27 19:54:19 +000019 name: "exoplayer2-extractor",
Santiago Seifert662958f2020-04-03 18:56:23 +010020 manifest: "tree/library/extractor/src/main/AndroidManifest.xml",
Santiago Seifert98470182020-01-27 12:50:37 +000021 srcs: [
Santiago Seifert662958f2020-04-03 18:56:23 +010022 "tree/library/extractor/src/main/java/**/*.java",
23 "tree/library/common/src/main/java/**/*.java",
Santiago Seifert98470182020-01-27 12:50:37 +000024 ],
Anton Hanssonf6cc5bc2020-03-23 10:29:58 +000025 sdk_version: "29", // Needs to be a prebuilt, so not "current".
Jooyung Han90084be2020-05-21 22:35:38 +090026 apex_available: [
27 "com.android.media",
28 ],
29 min_sdk_version: "16", // match with tree/constants.gradle
Santiago Seifert05490c72019-11-07 18:00:08 +000030 static_libs: [
Santiago Seifertf24a2e32020-01-27 19:54:19 +000031 "exoplayer2-extractor-annotation-stubs",
Santiago Seifert05490c72019-11-07 18:00:08 +000032 "androidx.annotation_annotation",
Santiago Seifert9af80eb2020-04-09 23:10:01 +010033 "jsr305",
Santiago Seifert05490c72019-11-07 18:00:08 +000034 ],
Santiago Seifertf24a2e32020-01-27 19:54:19 +000035 jarjar_rules: "exoplayer2-extractor-jarjar-rules.txt",
Santiago Seifert48d630a2019-11-13 17:27:40 +000036 visibility: ["//frameworks/base:__subpackages__"],
Santiago Seifert9f6e0b42019-12-12 14:27:44 +000037 notice: "LICENSE",
Santiago Seifert05490c72019-11-07 18:00:08 +000038}
39
40// Compile dummy implementations of annotations used by exoplayer but not
41// present in the Android tree.
42java_library {
Santiago Seifertf24a2e32020-01-27 19:54:19 +000043 name: "exoplayer2-extractor-annotation-stubs",
Santiago Seifert05490c72019-11-07 18:00:08 +000044 host_supported: true,
45 sdk_version: "core_current",
Jooyung Han90084be2020-05-21 22:35:38 +090046 apex_available: [
47 "com.android.media",
48 ],
49 min_sdk_version: "16",
Santiago Seifert05490c72019-11-07 18:00:08 +000050 srcs: ["annotation-stubs/src/**/*.java"],
Santiago Seifert9af80eb2020-04-09 23:10:01 +010051 static_libs: ["jsr305"],
Santiago Seifert05490c72019-11-07 18:00:08 +000052 visibility: ["//visibility:private"],
53}
Santiago Seifert77bdf072020-01-30 16:49:04 +000054
Santiago Seifert8ade7bb2020-02-06 16:03:34 +000055// Exposes util classes for testing MediaParser.
56android_library {
57 name: "exoplayer2-extractor-test-utils",
Santiago Seifert662958f2020-04-03 18:56:23 +010058 manifest: "tree/library/extractor/src/test/AndroidManifest.xml",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +000059 srcs: [
Santiago Seifert662958f2020-04-03 18:56:23 +010060 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/Dumper.java",
61 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorInput.java",
62 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorOutput.java",
63 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeTrackOutput.java",
64 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/TestUtil.java",
65 "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DatabaseProvider.java",
66 "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DefaultDatabaseProvider.java",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +000067 ],
Anton Hanssonf6cc5bc2020-03-23 10:29:58 +000068 sdk_version: "29",
Santiago Seifert8ade7bb2020-02-06 16:03:34 +000069 static_libs: [
70 "exoplayer2-extractor",
71 "exoplayer2-extractor-annotation-stubs",
72 "androidx.annotation_annotation",
73 "truth-prebuilt",
74 "junit",
75 "androidx.test.core",
76 ],
77 jarjar_rules: "exoplayer2-extractor-jarjar-rules.txt",
78 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"],
79 notice: "LICENSE",
80}
81
82// Exposes the assets for testing MediaParser.
83android_library {
Santiago Seifert77bdf072020-01-30 16:49:04 +000084 name: "exoplayer2-extractor-tests-assets",
Santiago Seifert662958f2020-04-03 18:56:23 +010085 manifest: "tree/library/extractor/src/main/AndroidManifest.xml",
Santiago Seifert77bdf072020-01-30 16:49:04 +000086 srcs: [],
Anton Hanssonf6cc5bc2020-03-23 10:29:58 +000087 sdk_version: "29",
Santiago Seifert77bdf072020-01-30 16:49:04 +000088 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"],
Santiago Seifert7ac484a2020-04-09 20:52:49 +010089 asset_dirs: ["tree/testdata/src/test/assets/"],
Santiago Seifert77bdf072020-01-30 16:49:04 +000090 // Do not compress media files.
91 aaptflags: [
92 "-0 .ac3",
93 "-0 .ac4",
94 "-0 .adts",
95 "-0 .amr",
96 "-0 .eac3",
97 "-0 .flac",
98 "-0 .flv",
99 "-0 .id3",
100 "-0 .mkv",
101 "-0 .mp3",
102 "-0 .mp4",
103 "-0 .mpg",
104 "-0 .ogg",
105 "-0 .opus",
106 "-0 .ps",
107 "-0 .rawcc",
108 "-0 .ts",
109 "-0 .wav",
110 "-0 .webm",
111 ],
112}