Skip to content

Commit acc6f09

Browse files
committed
Merge tag '1.5.1' into release-tivo-1.5.1-merge
Initial merge, one of our extractor tests is failing, this is due to an alternate implementation for dealing with end of stream, see pull request: androidx#3092 The resolved conflicts were: ``` settings.gradle libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java libraries/extractor/src/main/java/androidx/media3/extractor/ts/PesReader.java libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaPeriod.java libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/DefaultHlsExtractorFactory.java libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java libraries/exoplayer/src/main/java/androidx/media3/exoplayer/util/SntpClient.java libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider.java libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java demos/main/build.gradle ``` - settings.gradle -- we took ours, don't care about new modules added we don't use. - Extractor -- they merged pull request androidx#419 from v-novaltd:vnova-104, we will modify this slightly to use our method as well - DRM - picked up our change for `setLoadErrorHandlingPolicy()` add, conflicted with pending change for `exoMediaDrmProvider` - SntpClient -- they added a method `setMaxElapsedTimeUntilUpdateMs()` same as our MAX_ELAPSED_MS_TILL_UPDATE, so we take all their change and will need to add call to the new method. - DefaultHlsExtractorFactory -- our changes to add `exposeCea608WhenMissingDeclarations` flag to fmp4 too - Renderers -- tunneling changes conflicted. Also, test androidx.media3.exoplayer.hls.HlsMediaChunkTest needed to be fixed for the signature change from "Add hook for custom DRM encoded in HLS EXT-X-KEY"
2 parents 9af96c0 + 76088cd commit acc6f09

3,262 files changed

Lines changed: 481719 additions & 52444 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,16 @@ body:
1717
label: Version
1818
description: What version of Media3 (or ExoPlayer) are you using?
1919
options:
20-
- Media3 1.2.1
21-
- Media3 1.2.0
2220
- Media3 main branch
2321
- Media3 pre-release (alpha, beta or RC not in this list)
22+
- Media3 1.5.1
23+
- Media3 1.5.0
24+
- Media3 1.4.1
25+
- Media3 1.4.0
26+
- Media3 1.3.1
27+
- Media3 1.3.0
28+
- Media3 1.2.1
29+
- Media3 1.2.0
2430
- Media3 1.1.1 / ExoPlayer 2.19.1
2531
- Media3 1.1.0 / ExoPlayer 2.19.0
2632
- Media3 1.0.2 / ExoPlayer 2.18.7

.gitignore

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,30 +52,31 @@ tmp
5252

5353
# External native builds
5454
.externalNativeBuild
55+
.cxx
5556

56-
# VP9 extension
57-
extensions/vp9/src/main/jni/libvpx
58-
extensions/vp9/src/main/jni/libvpx_android_configs
59-
extensions/vp9/src/main/jni/libyuv
57+
# VP9 decoder extension
58+
libraries/decoder_vp9/src/main/jni/libvpx
59+
libraries/decoder_vp9/src/main/jni/libvpx_android_configs
60+
libraries/decoder_vp9/src/main/jni/libyuv
6061

61-
# AV1 extension
62-
extensions/av1/src/main/jni/cpu_features
63-
extensions/av1/src/main/jni/libgav1
62+
# AV1 decoder extension
63+
libraries/decoder_av1/src/main/jni/cpu_features
64+
libraries/decoder_av1/src/main/jni/libgav1
6465

65-
# Opus extension
66-
extensions/opus/src/main/jni/libopus
66+
# Opus decoder extension
67+
libraries/decoder_opus/src/main/jni/libopus
6768

68-
# FLAC extension
69-
extensions/flac/src/main/jni/flac
69+
# FLAC decoder extension
70+
libraries/decoder_flac/src/main/jni/flac
7071

71-
# FFmpeg extension
72-
extensions/ffmpeg/src/main/jni/ffmpeg
72+
# FFmpeg decoder extension
73+
libraries/decoder_ffmpeg/src/main/jni/ffmpeg
7374

74-
# Cronet extension
75-
extensions/cronet/jniLibs/*
76-
!extensions/cronet/jniLibs/README.md
77-
extensions/cronet/libs/*
78-
!extensions/cronet/libs/README.md
75+
# Cronet datasource extension
76+
libraries/datasource_cronet/jniLibs/*
77+
!libraries/datasource_cronet/jniLibs/README.md
78+
libraries/datasource_cronet/libs/*
79+
!libraries/datasource_cronet/libs/README.md
7980

80-
# MIDI extension
81-
extensions/midi/lib
81+
# MIDI decoder extension
82+
libraries/decoder_midi/lib

README.md

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,6 @@ compileOptions {
100100
}
101101
```
102102

103-
#### 3. Enable multidex
104-
105-
If your Gradle `minSdkVersion` is 20 or lower, you should
106-
[enable multidex](https://developer.android.com/studio/build/multidex) in order
107-
to prevent build errors.
108-
109103
### Locally
110104

111105
Cloning the repository and depending on the modules locally is required when
@@ -116,23 +110,20 @@ First, clone the repository into a local directory:
116110

117111
```sh
118112
git clone https://github.com/androidx/media.git
119-
cd media
120113
```
121114

122115
Next, add the following to your project's `settings.gradle.kts` file, replacing
123116
`path/to/media` with the path to your local copy:
124117

125118
```kotlin
126-
gradle.extra.apply {
127-
set("androidxMediaModulePrefix", "media-")
128-
}
119+
(gradle as ExtensionAware).extra["androidxMediaModulePrefix"] = "media3-"
129120
apply(from = file("path/to/media/core_settings.gradle"))
130121
```
131122

132123
Or in Gradle Groovy DSL `settings.gradle`:
133124

134125
```groovy
135-
gradle.ext.androidxMediaModulePrefix = 'media-'
126+
gradle.ext.androidxMediaModulePrefix = 'media3-'
136127
apply from: file("path/to/media/core_settings.gradle")
137128
```
138129

@@ -141,17 +132,37 @@ You can depend on them from `build.gradle.kts` as you would on any other local
141132
module, for example:
142133

143134
```kotlin
144-
implementation(project(":media-lib-exoplayer"))
145-
implementation(project(":media-lib-exoplayer-dash"))
146-
implementation(project(":media-lib-ui"))
135+
implementation(project(":media3-lib-exoplayer"))
136+
implementation(project(":media3-lib-exoplayer-dash"))
137+
implementation(project(":media3-lib-ui"))
147138
```
148139

149140
Or in Gradle Groovy DSL `build.gradle`:
150141

151142
```groovy
152-
implementation project(':media-lib-exoplayer')
153-
implementation project(':media-lib-exoplayer-dash')
154-
implementation project(':media-lib-ui')
143+
implementation project(':media3-lib-exoplayer')
144+
implementation project(':media3-lib-exoplayer-dash')
145+
implementation project(':media3-lib-ui')
146+
```
147+
148+
#### MIDI module
149+
150+
By default the [MIDI module](libraries/decoder_midi) is disabled as a local
151+
dependency, because it requires additional Maven repository config. If you want
152+
to use it as a local dependency, please configure the JitPack repository as
153+
[described in the module README](libraries/decoder_midi/README.md#getting-the-module),
154+
and then enable building the module in your `settings.gradle.kts` file:
155+
156+
```kotlin
157+
gradle.extra.apply {
158+
set("androidxMediaEnableMidiModule", true)
159+
}
160+
```
161+
162+
Or in Gradle Groovy DSL `settings.gradle`:
163+
164+
```groovy
165+
gradle.ext.androidxMediaEnableMidiModule = true
155166
```
156167

157168
## Developing AndroidX Media

0 commit comments

Comments
 (0)