Bump version to 2.12.1

PiperOrigin-RevId: 338261975
This commit is contained in:
olly 2020-10-21 15:50:35 +01:00 committed by Oliver Woodman
parent a21eb772b1
commit 563767d5e9
3 changed files with 51 additions and 45 deletions

View File

@ -5,9 +5,6 @@
* Core library: * Core library:
* `LoadControl`: * `LoadControl`:
* Add a `targetLiveOffsetUs` parameter to `shouldStartPlayback`. * Add a `targetLiveOffsetUs` parameter to `shouldStartPlayback`.
* Fix bug where streams with highly uneven durations may get stuck in a
buffering state
([#7943](https://github.com/google/ExoPlayer/issues/7943)).
* Verify correct thread usage in `SimpleExoPlayer` by default. Opt-out is * Verify correct thread usage in `SimpleExoPlayer` by default. Opt-out is
still possible until the next major release using still possible until the next major release using
`setThrowsWhenUsingWrongThread(false)` `setThrowsWhenUsingWrongThread(false)`
@ -19,61 +16,70 @@
* Time out when detaching a surface to prevent ANRs if the underlying * Time out when detaching a surface to prevent ANRs if the underlying
platform call is stuck platform call is stuck
([#5887](https://github.com/google/ExoPlayer/issues/5887)). ([#5887](https://github.com/google/ExoPlayer/issues/5887)).
* Switch Guava dependency from `implementation` to `api`
([#7905](https://github.com/google/ExoPlayer/issues/7905),
([#7993](https://github.com/google/ExoPlayer/issues/7993)).
* Fix bug where `AnalyticsListener` callbacks can arrive in the wrong * Fix bug where `AnalyticsListener` callbacks can arrive in the wrong
order ([#8048](https://github.com/google/ExoPlayer/issues/8048)). order ([#8048](https://github.com/google/ExoPlayer/issues/8048)).
* Track selection: * Track selection:
* Add option to specify multiple preferred audio or text languages. * Add option to specify multiple preferred audio or text languages.
* UI:
* Show overflow button in `StyledPlayerControlView` only when there is not
enough space.
* Audio:
* Retry playback after some types of `AudioTrack` error.
### 2.12.1 (2020-10-23) ###
* Core library:
* Fix bug where streams with highly uneven track durations may get stuck
in a buffering state
([#7943](https://github.com/google/ExoPlayer/issues/7943)).
* Switch Guava dependency from `implementation` to `api`
([#7905](https://github.com/google/ExoPlayer/issues/7905),
([#7993](https://github.com/google/ExoPlayer/issues/7993)).
* Add 403, 500 and 503 to the list of HTTP status codes that can trigger
failover to another quality variant during adaptive playbacks.
* Data sources: * Data sources:
* Add support for `android.resource` URI scheme in `RawResourceDataSource` * Add support for `android.resource` URI scheme in `RawResourceDataSource`
([#7866](https://github.com/google/ExoPlayer/issues/7866)). ([#7866](https://github.com/google/ExoPlayer/issues/7866)).
* Text: * Text:
* Add support for `\h` SSA/ASS style override code (non-breaking space). * Add support for `\h` SSA/ASS style override code (non-breaking space).
* Fix WebVTT subtitles in MP4 containers in DASH streams * Fix playback of WebVTT subtitles in MP4 containers in DASH streams
([#7985](https://github.com/google/ExoPlayer/issues/7985)). ([#7985](https://github.com/google/ExoPlayer/issues/7985)).
* Fix NPE in `TextRenderer` when playing content with a single subtitle * Fix `NullPointerException` in `TextRenderer` when playing content with a
buffer ([#8017](https://github.com/google/ExoPlayer/issues/8017)). single subtitle buffer
([#8017](https://github.com/google/ExoPlayer/issues/8017)).
* UI: * UI:
* Show overflow button in `StyledPlayerControlView` only when there is not
enough space.
* Fix animation when `StyledPlayerView` first shows its playback controls. * Fix animation when `StyledPlayerView` first shows its playback controls.
* Allow subtitleButton to be omitted in custom `StyledPlayerView` layouts * Improve touch targets in `StyledPlayerView` to make tapping easier.
([#7962](https://github.com/google/ExoPlayer/issues/7962)). * Allow `subtitleButton` to be omitted in custom `StyledPlayerView`
layouts ([#7962](https://github.com/google/ExoPlayer/issues/7962)).
* Add an option to sort tracks by `Format` in `TrackSelectionView` and * Add an option to sort tracks by `Format` in `TrackSelectionView` and
`TrackSelectionDialogBuilder` `TrackSelectionDialogBuilder`
([#7709](https://github.com/google/ExoPlayer/issues/7709)). ([#7709](https://github.com/google/ExoPlayer/issues/7709)).
* Improve touch targets in `StyledPlayerView` to make tapping easier.
* Audio: * Audio:
* Retry playback after some types of `AudioTrack` error.
* Fix the default audio sink position not advancing correctly when using * Fix the default audio sink position not advancing correctly when using
`AudioTrack`-based speed adjustment `AudioTrack` based speed adjustment
([#7982](https://github.com/google/ExoPlayer/issues/7982)). ([#7982](https://github.com/google/ExoPlayer/issues/7982)).
* Fix `NoClassDefFoundError` warning for `AudioTrack$StreamEventCallback` * Fix `NoClassDefFoundError` warning for `AudioTrack$StreamEventCallback`
even though the class was not used
([#8058](https://github.com/google/ExoPlayer/issues/8058)). ([#8058](https://github.com/google/ExoPlayer/issues/8058)).
* Extractors: * Extractors:
* Add support for `_mp2` boxes in `Mp4Extractor` * MP4:
* Add support for `_mp2` boxes
([#7967](https://github.com/google/ExoPlayer/issues/7967)). ([#7967](https://github.com/google/ExoPlayer/issues/7967)).
* Fix playback of MP4 and MOV files containing `pcm_alaw` or `pcm_mulaw` * Fix playback of files containing `pcm_alaw` or `pcm_mulaw` audio
audio tracks, by enabling sample rechunking of such tracks tracks, by enabling sample rechunking for such tracks.
* Use TLEN ID3 tag to compute the duration in `Mp3Extractor` * MPEG-TS:
([#7949](https://github.com/google/ExoPlayer/issues/7949)). * Add `TsExtractor` parameter to configure the number of bytes in
* Fix regression for Ogg files with packets that span multiple pages which to search for timestamps when seeking and determining stream
([#7992](https://github.com/google/ExoPlayer/issues/7992)). duration ([#7988](https://github.com/google/ExoPlayer/issues/7988)).
* Add TS extractor parameter to configure the number of bytes in which to
search for a timestamp to determine the duration and to seek.
([#7988](https://github.com/google/ExoPlayer/issues/7988)).
* Ignore negative payload size in PES packets * Ignore negative payload size in PES packets
([#8005](https://github.com/google/ExoPlayer/issues/8005)). ([#8005](https://github.com/google/ExoPlayer/issues/8005)).
* Make FLV files seekable by using the key frame index * MP3: Use TLEN ID3 tag to compute the stream duration
([#7949](https://github.com/google/ExoPlayer/issues/7949)).
* Ogg: Fix regression playing files with packets that span multiple pages
([#7992](https://github.com/google/ExoPlayer/issues/7992)).
* FLV: Make files seekable by using the key frame index
([#7378](https://github.com/google/ExoPlayer/issues/7378)). ([#7378](https://github.com/google/ExoPlayer/issues/7378)).
* Adaptive playback (DASH / HLS / SmoothStreaming): * HLS: Fix crash affecting chunkful preparation of master playlists that start
* Add 403, 500 and 503 to the list of HTTP status codes that can trigger
failover to another quality variant.
* HLS:
* Fix crash affecting chunkful preparation of master playlists that start
with an I-FRAME only variant with an I-FRAME only variant
([#8025](https://github.com/google/ExoPlayer/issues/8025)). ([#8025](https://github.com/google/ExoPlayer/issues/8025)).
* IMA extension: * IMA extension:
@ -88,7 +94,7 @@
([#3750](https://github.com/google/ExoPlayer/issues/3750)). ([#3750](https://github.com/google/ExoPlayer/issues/3750)).
* Add a way to override ad media MIME types * Add a way to override ad media MIME types
([#7961)(https://github.com/google/ExoPlayer/issues/7961)). ([#7961)(https://github.com/google/ExoPlayer/issues/7961)).
* Fix truncating large cue points in microseconds * Fix incorrect truncation of large cue point positions
([#8067](https://github.com/google/ExoPlayer/issues/8067)). ([#8067](https://github.com/google/ExoPlayer/issues/8067)).
* Upgrade IMA SDK dependency to 3.20.1. This brings in a fix for * Upgrade IMA SDK dependency to 3.20.1. This brings in a fix for
companion ads rendering when targeting API 29 companion ads rendering when targeting API 29
@ -257,7 +263,7 @@ To learn more about what's new in 2.12, read the corresponding
* Redefine `Cue.lineType=LINE_TYPE_NUMBER` in terms of aligning the cue * Redefine `Cue.lineType=LINE_TYPE_NUMBER` in terms of aligning the cue
text lines to grid of viewport lines. Only consider `Cue.lineAnchor` text lines to grid of viewport lines. Only consider `Cue.lineAnchor`
when `Cue.lineType=LINE_TYPE_FRACTION`. when `Cue.lineType=LINE_TYPE_FRACTION`.
* WebVTT * WebVTT:
* Add support for default * Add support for default
[text](https://www.w3.org/TR/webvtt1/#default-text-color) and [text](https://www.w3.org/TR/webvtt1/#default-text-color) and
[background](https://www.w3.org/TR/webvtt1/#default-text-background) [background](https://www.w3.org/TR/webvtt1/#default-text-background)
@ -272,10 +278,10 @@ To learn more about what's new in 2.12, read the corresponding
* Parse the `ruby-position` CSS property. * Parse the `ruby-position` CSS property.
* Parse the `text-combine-upright` CSS property (i.e., tate-chu-yoko). * Parse the `text-combine-upright` CSS property (i.e., tate-chu-yoko).
* Parse the `<ruby>` and `<rt>` tags. * Parse the `<ruby>` and `<rt>` tags.
* TTML * TTML:
* Parse the `tts:combineText` property (i.e., tate-chu-yoko). * Parse the `tts:combineText` property (i.e., tate-chu-yoko).
* Parse t`tts:ruby` and `tts:rubyPosition` properties. * Parse t`tts:ruby` and `tts:rubyPosition` properties.
* CEA-608 * CEA-608:
* Implement timing-out of stuck captions, as permitted by * Implement timing-out of stuck captions, as permitted by
ANSI/CTA-608-E R-2014 Annex C.9. The default timeout is set to 16 ANSI/CTA-608-E R-2014 Annex C.9. The default timeout is set to 16
seconds ([#7181](https://github.com/google/ExoPlayer/issues/7181)). seconds ([#7181](https://github.com/google/ExoPlayer/issues/7181)).

View File

@ -13,8 +13,8 @@
// limitations under the License. // limitations under the License.
project.ext { project.ext {
// ExoPlayer version and version code. // ExoPlayer version and version code.
releaseVersion = '2.12.0' releaseVersion = '2.12.1'
releaseVersionCode = 2012000 releaseVersionCode = 2012001
minSdkVersion = 16 minSdkVersion = 16
appTargetSdkVersion = 29 appTargetSdkVersion = 29
targetSdkVersion = 28 // TODO: Bump once b/143232359 is resolved. Also fix TODOs in UtilTest. targetSdkVersion = 28 // TODO: Bump once b/143232359 is resolved. Also fix TODOs in UtilTest.

View File

@ -30,11 +30,11 @@ public final class ExoPlayerLibraryInfo {
/** The version of the library expressed as a string, for example "1.2.3". */ /** 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. // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION_INT) or vice versa.
public static final String VERSION = "2.12.0"; public static final String VERSION = "2.12.1";
/** The version of the library expressed as {@code "ExoPlayerLib/" + VERSION}. */ /** The version of the library expressed as {@code "ExoPlayerLib/" + VERSION}. */
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa. // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa.
public static final String VERSION_SLASHY = "ExoPlayerLib/2.12.0"; public static final String VERSION_SLASHY = "ExoPlayerLib/2.12.1";
/** /**
* The version of the library expressed as an integer, for example 1002003. * The version of the library expressed as an integer, for example 1002003.
@ -44,7 +44,7 @@ public final class ExoPlayerLibraryInfo {
* integer version 123045006 (123-045-006). * integer version 123045006 (123-045-006).
*/ */
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa. // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa.
public static final int VERSION_INT = 2012000; public static final int VERSION_INT = 2012001;
/** The default user agent for requests made by the library. */ /** The default user agent for requests made by the library. */
public static final String DEFAULT_USER_AGENT = public static final String DEFAULT_USER_AGENT =