Skip to content

Commit 72a4fb0

Browse files
authored
Merge pull request #52 from androidx/release-1.0
r1.0.0-alpha03
2 parents 850bd69 + 5832493 commit 72a4fb0

File tree

31 files changed

+1044
-740
lines changed

31 files changed

+1044
-740
lines changed

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,13 @@ to prevent build errors.
9494

9595
Cloning the repository and depending on the modules locally is required when
9696
using some libraries. It's also a suitable approach if you want to make local
97-
changes, or if you want to use the main branch.
97+
changes, or if you want to use the `main` branch.
9898

99-
First, clone the repository into a local directory and checkout the desired
100-
branch:
99+
First, clone the repository into a local directory:
101100

102101
```sh
103102
git clone https://github.com/androidx/media.git
104103
cd media
105-
git checkout main
106104
```
107105

108106
Next, add the following to your project's `settings.gradle` file, replacing
@@ -129,7 +127,7 @@ implementation project(':media-lib-ui')
129127
Development work happens on the `main` branch. Pull requests should normally be
130128
made to this branch.
131129

132-
We plan to add a release branch soon.
130+
The `release` branch holds the most recent stable release.
133131

134132
#### Using Android Studio
135133

RELEASENOTES.md

Lines changed: 56 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,30 @@
11
# Release notes
22

3-
### 1.0.0-alpha02 (2022-03-09)
3+
### 1.0.0-alpha03 (2022-03-14)
4+
5+
This release corresponds to the
6+
[ExoPlayer 2.17.1 release](https://github.com/google/ExoPlayer/releases/tag/r2.17.1).
7+
8+
* Audio:
9+
* Fix error checking audio capabilities for Dolby Atmos (E-AC3-JOC) in
10+
HLS.
11+
* Extractors:
12+
* FMP4: Fix issue where emsg sample metadata could be output in the wrong
13+
order for streams containing both v0 and v1 emsg atoms
14+
([#9996](https://github.com/google/ExoPlayer/issues/9996)).
15+
* Text:
16+
* Fix the interaction of `SingleSampleMediaSource.Factory.setTrackId` and
17+
`MediaItem.SubtitleConfiguration.Builder.setId` to prioritise the
18+
`SubtitleConfiguration` field and fall back to the `Factory` value if
19+
it's not set
20+
([#10016](https://github.com/google/ExoPlayer/issues/10016)).
21+
* Ad playback:
22+
* Fix audio underruns between ad periods in live HLS SSAI streams.
23+
24+
### 1.0.0-alpha02 (2022-03-02)
25+
26+
This release corresponds to the
27+
[ExoPlayer 2.17.0 release](https://github.com/google/ExoPlayer/releases/tag/r2.17.0).
428

529
* Core Library:
630
* Add protected method `DefaultRenderersFactory.getCodecAdapterFactory()`
@@ -18,7 +42,7 @@
1842
from a secure codec to another codec
1943
([#8696](https://github.com/google/ExoPlayer/issues/8696)).
2044
* Add `MediaCodecAdapter.getMetrics()` to allow users obtain metrics data
21-
from `MediaCodec`.
45+
from `MediaCodec`
2246
([#9766](https://github.com/google/ExoPlayer/issues/9766)).
2347
* Fix Maven dependency resolution
2448
([#8353](https://github.com/google/ExoPlayer/issues/8353)).
@@ -63,17 +87,17 @@
6387
under sufficient network bandwidth even if playback is very close to the
6488
live edge ([#9784](https://github.com/google/ExoPlayer/issues/9784)).
6589
* Video:
66-
* Fix decoder fallback logic for Dolby Vision
67-
to use a compatible H264/H265 decoder if needed.
90+
* Fix decoder fallback logic for Dolby Vision to use a compatible
91+
H264/H265 decoder if needed.
6892
* Audio:
69-
* Fix decoder fallback logic for Dolby Atmos (E-AC3-JOC)
70-
to use a compatible E-AC3 decoder if needed.
93+
* Fix decoder fallback logic for Dolby Atmos (E-AC3-JOC) to use a
94+
compatible E-AC3 decoder if needed.
7195
* Change `AudioCapabilities` APIs to require passing explicitly
7296
`AudioCapabilities.DEFAULT_AUDIO_CAPABILITIES` instead of `null`.
7397
* Allow customization of the `AudioTrack` buffer size calculation by
74-
injecting an `AudioTrackBufferSizeProvider` to `DefaultAudioSink`.
98+
injecting an `AudioTrackBufferSizeProvider` to `DefaultAudioSink`
7599
([#8891](https://github.com/google/ExoPlayer/issues/8891)).
76-
* Retry `AudioTrack` creation if the requested buffer size was > 1MB.
100+
* Retry `AudioTrack` creation if the requested buffer size was > 1MB
77101
([#9712](https://github.com/google/ExoPlayer/issues/9712)).
78102
* Extractors:
79103
* WAV: Add support for RF64 streams
@@ -120,7 +144,8 @@
120144
* Support the `forced-subtitle` track role
121145
([#9727](https://github.com/google/ExoPlayer/issues/9727)).
122146
* Stop interpreting the `main` track role as `C.SELECTION_FLAG_DEFAULT`.
123-
* Fix base URL exclusion logic for manifests that do not declare the DVB namespace ([#9856](https://github.com/google/ExoPlayer/issues/9856)).
147+
* Fix base URL exclusion logic for manifests that do not declare the DVB
148+
namespace ([#9856](https://github.com/google/ExoPlayer/issues/9856)).
124149
* Support relative `MPD.Location` URLs
125150
([#9939](https://github.com/google/ExoPlayer/issues/9939)).
126151
* HLS:
@@ -133,8 +158,6 @@
133158
`HlsMediaSource.Factory.setAllowChunklessPreparation(false)`.
134159
* Support key-frame accurate seeking in HLS
135160
([#2882](https://github.com/google/ExoPlayer/issues/2882)).
136-
* Correctly populate `Format.label` for audio only HLS streams
137-
([#9608](https://github.com/google/ExoPlayer/issues/9608)).
138161
* RTSP:
139162
* Provide a client API to override the `SocketFactory` used for any server
140163
connection ([#9606](https://github.com/google/ExoPlayer/pull/9606)).
@@ -154,12 +177,10 @@
154177
* Fix potential NPE in `Transformer.getProgress` when releasing the muxer
155178
throws.
156179
* Add a demo app for applying transformations.
157-
* The transformer module is no longer included by depending on
158-
`com.google.android.exoplayer:exoplayer`. To continue using transformer,
159-
add an additional dependency on
160-
`com.google.android.exoplayer:exoplayer-transformer`.
161180
* MediaSession extension:
162-
* By default, `MediaSessionConnector` now clears the playlist on stop. Apps that want the playlist to be retained can call `setClearMediaItemsOnStop(false)` on the connector.
181+
* By default, `MediaSessionConnector` now clears the playlist on stop.
182+
Apps that want the playlist to be retained can call
183+
`setClearMediaItemsOnStop(false)` on the connector.
163184
* Cast extension:
164185
* Fix bug that prevented `CastPlayer` from calling `onIsPlayingChanged`
165186
correctly ([#9792](https://github.com/google/ExoPlayer/issues/9792)).
@@ -178,38 +199,38 @@
178199
([#9528](https://github.com/google/ExoPlayer/issues/9528)).
179200
* Remove deprecated symbols:
180201
* Remove `Player.EventLister`. Use `Player.Listener` instead.
181-
* Remove `MediaSourceFactory#setDrmSessionManager`,
182-
`MediaSourceFactory#setDrmHttpDataSourceFactory`, and
183-
`MediaSourceFactory#setDrmUserAgent`. Use
184-
`MediaSourceFactory#setDrmSessionManagerProvider` instead.
185-
* Remove `MediaSourceFactory#setStreamKeys`. Use
186-
`MediaItem.Builder#setStreamKeys` instead.
187-
* Remove `MediaSourceFactory#createMediaSource(Uri)`. Use
188-
`MediaSourceFactory#createMediaSource(MediaItem)` instead.
202+
* Remove `MediaSourceFactory.setDrmSessionManager`,
203+
`MediaSourceFactory.setDrmHttpDataSourceFactory`, and
204+
`MediaSourceFactory.setDrmUserAgent`. Use
205+
`MediaSourceFactory.setDrmSessionManagerProvider` instead.
206+
* Remove `MediaSourceFactory.setStreamKeys`. Use
207+
`MediaItem.Builder.setStreamKeys` instead.
208+
* Remove `MediaSourceFactory.createMediaSource(Uri)`. Use
209+
`MediaSourceFactory.createMediaSource(MediaItem)` instead.
189210
* Remove `setTag` from `DashMediaSource`, `HlsMediaSource` and
190-
`SsMediaSource`. Use `MediaItem.Builder#setTag` instead.
191-
* Remove `DashMediaSource#setLivePresentationDelayMs(long, boolean)`. Use
192-
`MediaItem.Builder#setLiveConfiguration` and
193-
`MediaItem.LiveConfiguration.Builder#setTargetOffsetMs` to override the
194-
manifest, or `DashMediaSource#setFallbackTargetLiveOffsetMs` to provide
211+
`SsMediaSource`. Use `MediaItem.Builder.setTag` instead.
212+
* Remove `DashMediaSource.setLivePresentationDelayMs(long, boolean)`. Use
213+
`MediaItem.Builder.setLiveConfiguration` and
214+
`MediaItem.LiveConfiguration.Builder.setTargetOffsetMs` to override the
215+
manifest, or `DashMediaSource.setFallbackTargetLiveOffsetMs` to provide
195216
a fallback value.
196217
* Remove `(Simple)ExoPlayer.setThrowsWhenUsingWrongThread`. Opting out of
197218
the thread enforcement is no longer possible.
198219
* Remove `ActionFile` and `ActionFileUpgradeUtil`. Use ExoPlayer 2.16.1 or
199220
before to use `ActionFileUpgradeUtil` to merge legacy action files into
200221
`DefaultDownloadIndex`.
201-
* Remove `ProgressiveMediaSource#setExtractorsFactory`. Use
222+
* Remove `ProgressiveMediaSource.setExtractorsFactory`. Use
202223
`ProgressiveMediaSource.Factory(DataSource.Factory, ExtractorsFactory)`
203224
constructor instead.
204-
* Remove `ProgressiveMediaSource.Factory#setTag` and, and
205-
`ProgressiveMediaSource.Factory#setCustomCacheKey`. Use
206-
`MediaItem.Builder#setTag` and `MediaItem.Builder#setCustomCacheKey`
225+
* Remove `ProgressiveMediaSource.Factory.setTag` and
226+
`ProgressiveMediaSource.Factory.setCustomCacheKey`. Use
227+
`MediaItem.Builder.setTag` and `MediaItem.Builder.setCustomCacheKey`
207228
instead.
208229
* Remove `DefaultRenderersFactory(Context, @ExtensionRendererMode int)`
209230
and `DefaultRenderersFactory(Context, @ExtensionRendererMode int, long)`
210231
constructors. Use the `DefaultRenderersFactory(Context)` constructor,
211-
`DefaultRenderersFactory#setExtensionRendererMode`, and
212-
`DefaultRenderersFactory#setAllowedVideoJoiningTimeMs` instead.
232+
`DefaultRenderersFactory.setExtensionRendererMode`, and
233+
`DefaultRenderersFactory.setAllowedVideoJoiningTimeMs` instead.
213234
* Remove all public `CronetDataSource` constructors. Use
214235
`CronetDataSource.Factory` instead.
215236
* Change the following `IntDefs` to `@Target(TYPE_USE)` only. This may break

constants.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414
project.ext {
15-
releaseVersion = '1.0.0-alpha02'
16-
releaseVersionCode = 1_000_000_0_02
15+
releaseVersion = '1.0.0-alpha03'
16+
releaseVersionCode = 1_000_000_0_03
1717
minSdkVersion = 16
1818
appTargetSdkVersion = 29
1919
// Upgrading this requires [Internal ref: b/193254928] to be fixed, or some

demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import android.widget.ListView
3030
import android.widget.TextView
3131
import androidx.appcompat.app.AppCompatActivity
3232
import androidx.media3.common.MediaItem
33+
import androidx.media3.common.Player
3334
import androidx.media3.session.MediaBrowser
3435
import androidx.media3.session.SessionToken
3536
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
@@ -179,6 +180,9 @@ class PlayableFolderActivity : AppCompatActivity() {
179180
returnConvertView.findViewById<TextView>(R.id.add_button).setOnClickListener {
180181
val browser = this@PlayableFolderActivity.browser ?: return@setOnClickListener
181182
browser.addMediaItem(mediaItem)
183+
if (browser.playbackState == Player.STATE_IDLE) {
184+
browser.prepare()
185+
}
182186
Snackbar.make(
183187
findViewById<LinearLayout>(R.id.linear_layout),
184188
getString(R.string.added_media_item_format, mediaItem.mediaMetadata.title),

demos/session/src/main/java/androidx/media3/demo/session/PlaybackService.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ class PlaybackService : MediaLibraryService() {
9696

9797
val item = MediaItemTree.getItemFromTitle(mediaTitle) ?: MediaItemTree.getRandomItem()
9898
player.setMediaItem(item)
99-
player.prepare()
10099
}
101100

102101
override fun onSetMediaUri(

gradle/wrapper/gradle-wrapper.jar

8.59 KB
Binary file not shown.
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
#Wed Mar 04 12:41:50 GMT 2020
21
distributionBase=GRADLE_USER_HOME
32
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https://services.gradle.org/distributions/gradle-7.3.3-all.zip

0 commit comments

Comments
 (0)