|
1 |
| -Release notes |
| 1 | +# Release notes |
| 2 | + |
| 3 | +### 1.0.0-rc01 (2023-02-16) |
| 4 | + |
| 5 | +This release corresponds to the |
| 6 | +[ExoPlayer 2.18.3 release](https://github.com/google/ExoPlayer/releases/tag/r2.18.3). |
| 7 | + |
| 8 | +* Core library: |
| 9 | + * Tweak the renderer's decoder ordering logic to uphold the |
| 10 | + `MediaCodecSelector`'s preferences, even if a decoder reports it may not |
| 11 | + be able to play the media performantly. For example with default |
| 12 | + selector, hardware decoder with only functional support will be |
| 13 | + preferred over software decoder that fully supports the format |
| 14 | + ([#10604](https://github.com/google/ExoPlayer/issues/10604)). |
| 15 | + * Add `ExoPlayer.Builder.setPlaybackLooper` that sets a pre-existing |
| 16 | + playback thread for a new ExoPlayer instance. |
| 17 | + * Allow download manager helpers to be cleared |
| 18 | + ([#10776](https://github.com/google/ExoPlayer/issues/10776)). |
| 19 | + * Add parameter to `BasePlayer.seekTo` to also indicate the command used |
| 20 | + for seeking. |
| 21 | + * Use theme when loading drawables on API 21+ |
| 22 | + ([#220](https://github.com/androidx/media/issues/220)). |
| 23 | + * Add `ConcatenatingMediaSource2` that allows combining multiple media |
| 24 | + items into a single window |
| 25 | + ([#247](https://github.com/androidx/media/issues/247)). |
| 26 | +* Extractors: |
| 27 | + * Throw a `ParserException` instead of a `NullPointerException` if the |
| 28 | + sample table (stbl) is missing a required sample description (stsd) when |
| 29 | + parsing trak atoms. |
| 30 | + * Correctly skip samples when seeking directly to a sync frame in fMP4 |
| 31 | + ([#10941](https://github.com/google/ExoPlayer/issues/10941)). |
| 32 | +* Audio: |
| 33 | + * Use the compressed audio format bitrate to calculate the min buffer size |
| 34 | + for `AudioTrack` in direct playbacks (passthrough). |
| 35 | +* Text: |
| 36 | + * Fix `TextRenderer` passing an invalid (negative) index to |
| 37 | + `Subtitle.getEventTime` if a subtitle file contains no cues. |
| 38 | + * SubRip: Add support for UTF-16 files if they start with a byte order |
| 39 | + mark. |
| 40 | +* Metadata: |
| 41 | + * Parse multiple null-separated values from ID3 frames, as permitted by |
| 42 | + ID3 v2.4. |
| 43 | + * Add `MediaMetadata.mediaType` to denote the type of content or the type |
| 44 | + of folder described by the metadata. |
| 45 | + * Add `MediaMetadata.isBrowsable` as a replacement for |
| 46 | + `MediaMetadata.folderType`. The folder type will be deprecated in the |
| 47 | + next release. |
| 48 | +* DASH: |
| 49 | + * Add full parsing for image adaptation sets, including tile counts |
| 50 | + ([#3752](https://github.com/google/ExoPlayer/issues/3752)). |
| 51 | +* UI: |
| 52 | + * Fix the deprecated |
| 53 | + `PlayerView.setControllerVisibilityListener(PlayerControlView.VisibilityListener)` |
| 54 | + to ensure visibility changes are passed to the registered listener |
| 55 | + ([#229](https://github.com/androidx/media/issues/229)). |
| 56 | + * Fix the ordering of the center player controls in `PlayerView` when |
| 57 | + using a right-to-left (RTL) layout |
| 58 | + ([#227](https://github.com/androidx/media/issues/227)). |
| 59 | +* Session: |
| 60 | + * Add abstract `SimpleBasePlayer` to help implement the `Player` interface |
| 61 | + for custom players. |
| 62 | + * Add helper method to convert platform session token to Media3 |
| 63 | + `SessionToken` ([#171](https://github.com/androidx/media/issues/171)). |
| 64 | + * Use `onMediaMetadataChanged` to trigger updates of the platform media |
| 65 | + session ([#219](https://github.com/androidx/media/issues/219)). |
| 66 | + * Add the media session as an argument of `getMediaButtons()` of the |
| 67 | + `DefaultMediaNotificationProvider` and use immutable lists for clarity |
| 68 | + ([#216](https://github.com/androidx/media/issues/216)). |
| 69 | + * Add `onSetMediaItems` callback listener to provide means to modify/set |
| 70 | + `MediaItem` list, starting index and position by session before setting |
| 71 | + onto Player ([#156](https://github.com/androidx/media/issues/156)). |
| 72 | + * Avoid double tap detection for non-Bluetooth media button events |
| 73 | + ([#233](https://github.com/androidx/media/issues/233)). |
| 74 | + * Make `QueueTimeline` more robust in case of a shady legacy session state |
| 75 | + ([#241](https://github.com/androidx/media/issues/241)). |
| 76 | +* Metadata: |
| 77 | + * Parse multiple null-separated values from ID3 frames, as permitted by |
| 78 | + ID3 v2.4. |
| 79 | + * Add `MediaMetadata.mediaType` to denote the type of content or the type |
| 80 | + of folder described by the metadata. |
| 81 | + * Add `MediaMetadata.isBrowsable` as a replacement for |
| 82 | + `MediaMetadata.folderType`. The folder type will be deprecated in the |
| 83 | + next release. |
| 84 | +* Cast extension: |
| 85 | + * Bump Cast SDK version to 21.2.0. |
| 86 | +* IMA extension: |
| 87 | + * Remove player listener of the `ImaServerSideAdInsertionMediaSource` on |
| 88 | + the application thread to avoid threading issues. |
| 89 | + * Add a property `focusSkipButtonWhenAvailable` to the |
| 90 | + `ImaServerSideAdInsertionMediaSource.AdsLoader.Builder` to request |
| 91 | + focusing the skip button on TV devices and set it to true by default. |
| 92 | + * Add a method `focusSkipButton()` to the |
| 93 | + `ImaServerSideAdInsertionMediaSource.AdsLoader` to programmatically |
| 94 | + request to focus the skip button. |
| 95 | + * Bump IMA SDK version to 3.29.0. |
| 96 | +* Demo app: |
| 97 | + * Request notification permission for download notifications at runtime |
| 98 | + ([#10884](https://github.com/google/ExoPlayer/issues/10884)). |
2 | 99 |
|
3 | 100 | ### 1.0.0-beta03 (2022-11-22)
|
4 | 101 |
|
@@ -259,15 +356,15 @@ This release corresponds to the
|
259 | 356 | * Query the platform (API 29+) or assume the audio encoding channel count
|
260 | 357 | for audio passthrough when the format audio channel count is unset,
|
261 | 358 | which occurs with HLS chunkless preparation
|
262 |
| - ([10204](https://github.com/google/ExoPlayer/issues/10204)). |
| 359 | + ([#10204](https://github.com/google/ExoPlayer/issues/10204)). |
263 | 360 | * Configure `AudioTrack` with channel mask
|
264 | 361 | `AudioFormat.CHANNEL_OUT_7POINT1POINT4` if the decoder outputs 12
|
265 | 362 | channel PCM audio
|
266 |
| - ([#10322](#https://github.com/google/ExoPlayer/pull/10322). |
| 363 | + ([#10322](#https://github.com/google/ExoPlayer/pull/10322)). |
267 | 364 | * DRM
|
268 | 365 | * Ensure the DRM session is always correctly updated when seeking
|
269 | 366 | immediately after a format change
|
270 |
| - ([10274](https://github.com/google/ExoPlayer/issues/10274)). |
| 367 | + ([#10274](https://github.com/google/ExoPlayer/issues/10274)). |
271 | 368 | * Text:
|
272 | 369 | * Change `Player.getCurrentCues()` to return `CueGroup` instead of
|
273 | 370 | `List<Cue>`.
|
|
0 commit comments