diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3a24a8bf6e..77a153f337 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -2,6 +2,8 @@ ### dev-v2 (not yet released) ### +* DASH: Support negative @r values in segment timelines + ([#1787](https://github.com/google/ExoPlayer/issues/1787)). * Add `allowedCapturePolicy` field to `AudioAttributes` wrapper to allow to opt-out of audio recording. * Add `DataSpec.httpRequestHeaders` to set HTTP request headers when connecting @@ -34,17 +36,8 @@ * Set `compileSdkVersion` to 29 to use Android Q APIs. * Add `enable` and `disable` methods to `MediaSource` to improve resource management in playlists. -* Improve text selection logic to always prefer the better language matches - over other selection parameters. * Remove `AnalyticsCollector.Factory`. Instances can be created directly and the `Player` set later using `AnalyticsCollector.setPlayer`. -* Add `allowAudioMixedChannelCountAdaptiveness` parameter to - `DefaultTrackSelector` to allow adaptive selections of audio tracks with - different channel counts - ([#6257](https://github.com/google/ExoPlayer/issues/6257)). -* Reset `DefaultBandwidthMeter` to initial values on network change. -* Increase maximum buffer size for video in `DefaultLoadControl` to ensure high - quality video can be loaded up to the full default buffer duration. * Replace `ExoPlayerFactory` by `SimpleExoPlayer.Builder` and `ExoPlayer.Builder`. * Inject `DrmSessionManager` into the `MediaSources` instead of `Renderers` @@ -55,10 +48,44 @@ * Support out-of-band HDR10+ metadata for VP9 in WebM/Matroska. * Fix issue where HLS streams get stuck in infinite buffering state after postroll ad ([#6314](https://github.com/google/ExoPlayer/issues/6314)). -* Fix audio selection issue where languages are compared by bit rate - ([#6335](https://github.com/google/ExoPlayer/issues/6335)). +* Publish `testutils` module to simplify unit testing with ExoPlayer + ([#6267](https://github.com/google/ExoPlayer/issues/6267)). +* Add `uid` to `Timeline.Window` to uniquely identify window instances. +* Fix Dolby Vision fallback to AVC and HEVC. +* Add `Player.isPlaying` and `EventListener.onIsPlayingChanged` to check whether + the playback position is advancing. This helps to determine if playback is + suppressed due to audio focus loss. Also add + `Player.getPlaybackSuppressedReason` to determine the reason of the + suppression ([#6203](https://github.com/google/ExoPlayer/issues/6203)). + +### 2.10.5 ### + +* Track selection + * Add `allowAudioMixedChannelCountAdaptiveness` parameter to + `DefaultTrackSelector` to allow adaptive selections of audio tracks with + different channel counts. + * Improve text selection logic to always prefer the better language matches + over other selection parameters. + * Fix audio selection issue where languages are compared by bitrate + ([#6335](https://github.com/google/ExoPlayer/issues/6335)). +* Performance + * Increase maximum video buffer size from 13MB to 32MB. The previous default + was too small for high quality streams. + * Reset `DefaultBandwidthMeter` to initial values on network change. + * Bypass sniffing in `ProgressiveMediaPeriod` in case a single extractor is + provided ([#6325](https://github.com/google/ExoPlayer/issues/6325)). +* Metadata + * Support EMSG V1 boxes in FMP4. + * Support unwrapping of nested metadata (e.g. ID3 and SCTE-35 in EMSG). * Add `HttpDataSource.getResponseCode` to provide the status code associated with the most recent HTTP response. +* Fix initialization data handling for FLAC in MP4 + ([#6396](https://github.com/google/ExoPlayer/issues/6396), + [#6397](https://github.com/google/ExoPlayer/issues/6397)). +* Fix decoder selection for E-AC3 JOC streams + ([#6398](https://github.com/google/ExoPlayer/issues/6398)). +* Fix `PlayerNotificationManager` to show play icon rather than pause icon when + playback is ended ([#6324](https://github.com/google/ExoPlayer/issues/6324)). * OkHttp extension: Upgrade OkHttp to fix HTTP2 socket timeout issue ([#4078](https://github.com/google/ExoPlayer/issues/4078)). * RTMP extension: Upgrade LibRtmp-Client-for-Android to fix RTMP playback issues @@ -66,17 +93,8 @@ [#4249](https://github.com/google/ExoPlayer/issues/4249), [#4319](https://github.com/google/ExoPlayer/issues/4319), [#4337](https://github.com/google/ExoPlayer/issues/4337)). -* Publish `testutils` module to simplify unit testing with ExoPlayer - ([#6267](https://github.com/google/ExoPlayer/issues/6267)). -* Add `uid` to `Timeline.Window` to uniquely identify window instances. -* Fix decoder selection for E-AC3 JOC streams - ([#6398](https://github.com/google/ExoPlayer/issues/6398)). -* Fix Dolby Vision fallback to AVC and HEVC. -* Add `Player.isPlaying` and `EventListener.onIsPlayingChanged` to check whether - the playback position is advancing. This helps to determine if playback is - suppressed due to audio focus loss. Also add - `Player.getPlaybackSuppressedReason` to determine the reason of the - suppression ([#6203](https://github.com/google/ExoPlayer/issues/6203)). +* IMA extension: Fix crash in `ImaAdsLoader.onTimelineChanged` + ([#5831](https://github.com/google/ExoPlayer/issues/5831)). ### 2.10.4 ### @@ -108,8 +126,6 @@ * Fix issue where playback speeds are not used in adaptive track selections after manual selection changes for other renderers ([#6256](https://github.com/google/ExoPlayer/issues/6256)). -* Fix initialization data handling for FLAC in MP4 - ([#6396](https://github.com/google/ExoPlayer/issues/6396)). ### 2.10.3 ### diff --git a/constants.gradle b/constants.gradle index 69726d9ed8..e63397c352 100644 --- a/constants.gradle +++ b/constants.gradle @@ -13,8 +13,8 @@ // limitations under the License. project.ext { // ExoPlayer version and version code. - releaseVersion = '2.10.4' - releaseVersionCode = 2010004 + releaseVersion = '2.10.5' + releaseVersionCode = 2010005 minSdkVersion = 16 targetSdkVersion = 28 compileSdkVersion = 29 diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java index f420f20767..bf64a14225 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java @@ -29,11 +29,11 @@ public final class ExoPlayerLibraryInfo { /** The version of the library expressed as a string, for example "1.2.3". */ // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION_INT) or vice versa. - public static final String VERSION = "2.10.4"; + public static final String VERSION = "2.10.5"; /** The version of the library expressed as {@code "ExoPlayerLib/" + VERSION}. */ // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa. - public static final String VERSION_SLASHY = "ExoPlayerLib/2.10.4"; + public static final String VERSION_SLASHY = "ExoPlayerLib/2.10.5"; /** * The version of the library expressed as an integer, for example 1002003. @@ -43,7 +43,7 @@ public final class ExoPlayerLibraryInfo { * integer version 123045006 (123-045-006). */ // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa. - public static final int VERSION_INT = 2010004; + public static final int VERSION_INT = 2010005; /** * Whether the library was compiled with {@link com.google.android.exoplayer2.util.Assertions}