Bump to 2.7.0 and prepare release notes

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=186200840
This commit is contained in:
olly 2018-02-19 03:02:12 -08:00 committed by Oliver Woodman
parent 2406785160
commit 69496eb17e
6 changed files with 53 additions and 45 deletions

View File

@ -2,14 +2,12 @@
### dev-v2 (not yet released) ### ### dev-v2 (not yet released) ###
* SimpleExoPlayerView: Automatically apply video rotation if * Downloading: Add `DownloadService`, `DownloadManager` and
`SimpleExoPlayerView` is configured to use `TextureView` related classes ([#2643](https://github.com/google/ExoPlayer/issues/2643)).
([#91](https://github.com/google/ExoPlayer/issues/91)).
### 2.7.0 ###
* Player interface: * Player interface:
* Add `Player.VideoComponent`, `Player.TextComponent` and
`Player.MetadataComponent` interfaces that define optional video, text and
metadata output functionality. New `getVideoComponent`, `getTextComponent`
and `getMetadataComponent` methods provide access to this functionality.
* Add optional parameter to `stop` to reset the player when stopping. * Add optional parameter to `stop` to reset the player when stopping.
* Add a reason to `EventListener.onTimelineChanged` to distinguish between * Add a reason to `EventListener.onTimelineChanged` to distinguish between
initial preparation, reset and dynamic updates. initial preparation, reset and dynamic updates.
@ -21,18 +19,23 @@
more customization of the message. Now supports setting a message delivery more customization of the message. Now supports setting a message delivery
playback position and/or a delivery handler playback position and/or a delivery handler
([#2189](https://github.com/google/ExoPlayer/issues/2189)). ([#2189](https://github.com/google/ExoPlayer/issues/2189)).
* UI components: * Add `Player.VideoComponent`, `Player.TextComponent` and
* Generalized player and control views to allow them to bind with any `Player.MetadataComponent` interfaces that define optional video, text and
`Player`, and renamed them to `PlayerView` and `PlayerControlView` metadata output functionality. New `getVideoComponent`, `getTextComponent`
respectively. and `getMetadataComponent` methods provide access to this functionality.
* Made `PlayerView`'s play button behave correctly when the player is ended * Add `ExoPlayer.setSeekParameters` for controlling how seek operations are
([#3689](https://github.com/google/ExoPlayer/issues/3689)), and call a performed. The `SeekParameters` class contains defaults for exact seeking and
`PlaybackPreparer` when the player is idle. seeking to the closest sync points before, either side or after specified seek
positions. `SeekParameters` are not currently supported when playing HLS
streams.
* DefaultTrackSelector:
* Replace `DefaultTrackSelector.Parameters` copy methods with a builder.
* Support disabling of individual text track selection flags.
* Buffering: * Buffering:
* Allow a back-buffer of media to be retained behind the current playback * Allow a back-buffer of media to be retained behind the current playback
position, for fast backward seeking. The back-buffer can be configured by position, for fast backward seeking. The back-buffer can be configured by
custom `LoadControl` implementations. custom `LoadControl` implementations.
* Add ability for `SequenceableLoader` to reevaluate its buffer and discard * Add ability for `SequenceableLoader` to re-evaluate its buffer and discard
buffered media so that it can be re-buffered in a different quality. buffered media so that it can be re-buffered in a different quality.
* Allow more flexible loading strategy when playing media containing multiple * Allow more flexible loading strategy when playing media containing multiple
sub-streams, by allowing injection of custom `CompositeSequenceableLoader` sub-streams, by allowing injection of custom `CompositeSequenceableLoader`
@ -40,29 +43,33 @@
`SsMediaSource.Factory`, and `MergingMediaSource`. `SsMediaSource.Factory`, and `MergingMediaSource`.
* Play out existing buffer before retrying for progressive live streams * Play out existing buffer before retrying for progressive live streams
([#1606](https://github.com/google/ExoPlayer/issues/1606)). ([#1606](https://github.com/google/ExoPlayer/issues/1606)).
* Add `ExoPlayer.setSeekParameters` for controlling how seek operations are * UI components:
performed. The `SeekParameters` class contains defaults for exact seeking and * Generalized player and control views to allow them to bind with any
seeking to the closest sync points before, either side or after specified seek `Player`, and renamed them to `PlayerView` and `PlayerControlView`
positions. respectively.
* Note: `SeekParameters` are not currently supported when playing HLS streams. * Made `PlayerView` automatically apply video rotation when configured to use
`TextureView` ([#91](https://github.com/google/ExoPlayer/issues/91)).
* Made `PlayerView` play button behave correctly when the player is ended
([#3689](https://github.com/google/ExoPlayer/issues/3689)), and call a
`PlaybackPreparer` when the player is idle.
* DRM: Optimistically attempt playback of DRM protected content that does not * DRM: Optimistically attempt playback of DRM protected content that does not
declare scheme specific init data in the manifest. If playback of clear declare scheme specific init data in the manifest. If playback of clear
samples without keys is allowed, delay DRM session error propagation until samples without keys is allowed, delay DRM session error propagation until
keys are actually needed keys are actually needed
([#3630](https://github.com/google/ExoPlayer/issues/3630)). ([#3630](https://github.com/google/ExoPlayer/issues/3630)).
* DASH: * DASH:
* Support in-band Emsg events targeting player with scheme id * Support in-band Emsg events targeting the player with scheme id
"urn:mpeg:dash:event:2012" and scheme value of either "1", "2" or "3". "urn:mpeg:dash:event:2012" and scheme values "1", "2" and "3".
* Support DASH manifest EventStream elements. * Support EventStream elements in DASH manifests.
* DefaultTrackSelector:
* Replace `DefaultTrackSelector.Parameters` copy methods with a builder.
* Support disabling of individual text track selection flags.
* HLS: * HLS:
* Add opt-in support for chunkless preparation in HLS. This allows an * Add opt-in support for chunkless preparation in HLS. This allows an
HLS source to finish preparation without downloading any chunks, which can HLS source to finish preparation without downloading any chunks, which can
significantly reduce initial buffering time significantly reduce initial buffering time
([#3149](https://github.com/google/ExoPlayer/issues/3149)). ([#3149](https://github.com/google/ExoPlayer/issues/3149)). More details
* Fail on loss of sync with Transport Stream. can be found
[here](https://medium.com/google-exoplayer/faster-hls-preparation-f6611aa15ea6).
* Fail if unable to sync with the Transport Stream, rather than entering
stuck in an indefinite buffering state.
* Fix mime type propagation * Fix mime type propagation
([#3653](https://github.com/google/ExoPlayer/issues/3653)). ([#3653](https://github.com/google/ExoPlayer/issues/3653)).
* Fix ID3 context reuse across segment format changes * Fix ID3 context reuse across segment format changes
@ -70,7 +77,6 @@
* Use long for media sequence numbers * Use long for media sequence numbers
([#3747](https://github.com/google/ExoPlayer/issues/3747)) ([#3747](https://github.com/google/ExoPlayer/issues/3747))
* Add initial support for the EXT-X-GAP tag. * Add initial support for the EXT-X-GAP tag.
* New Cast extension: Simplifies toggling between local and Cast playbacks.
* Audio: * Audio:
* Support TrueHD passthrough for rechunked samples in Matroska files * Support TrueHD passthrough for rechunked samples in Matroska files
([#2147](https://github.com/google/ExoPlayer/issues/2147)). ([#2147](https://github.com/google/ExoPlayer/issues/2147)).
@ -78,13 +84,16 @@
resolution output in `DefaultAudioSink` resolution output in `DefaultAudioSink`
([#3635](https://github.com/google/ExoPlayer/pull/3635)). ([#3635](https://github.com/google/ExoPlayer/pull/3635)).
* Captions: * Captions:
* Initial support for PGS subtitles * Basic support for PGS subtitles
([#3008](https://github.com/google/ExoPlayer/issues/3008)). ([#3008](https://github.com/google/ExoPlayer/issues/3008)).
* Fix issue handling CEA-608 captions where multiple buffers have the same * Fix handling of CEA-608 captions where multiple buffers have the same
presentation timestamp presentation timestamp
([#3782](https://github.com/google/ExoPlayer/issues/3782)). ([#3782](https://github.com/google/ExoPlayer/issues/3782)).
* CacheDataSource: Check periodically if it's possible to read from/write to * Caching:
cache after deciding to bypass cache. * Fix cache corruption issue
([#3762](https://github.com/google/ExoPlayer/issues/3762)).
* Implement periodic check in `CacheDataSource` to see whether it's possible
to switch to reading/writing the cache having initially bypassed it.
* IMA extension: * IMA extension:
* Fix the player getting stuck when an ad group fails to load * Fix the player getting stuck when an ad group fails to load
([#3584](https://github.com/google/ExoPlayer/issues/3584)). ([#3584](https://github.com/google/ExoPlayer/issues/3584)).
@ -102,6 +111,7 @@
* Propagate ad media preparation errors to IMA so that the ads can be * Propagate ad media preparation errors to IMA so that the ads can be
skipped. skipped.
* Handle exceptions in IMA callbacks so that can be logged less verbosely. * Handle exceptions in IMA callbacks so that can be logged less verbosely.
* New Cast extension. Simplifies toggling between local and Cast playbacks.
* `EventLogger` moved from the demo app into the core library. * `EventLogger` moved from the demo app into the core library.
* Fix ANR issue on the Huawei P8 Lite, Huawei Y6II, Moto C+, Meizu M5C, * Fix ANR issue on the Huawei P8 Lite, Huawei Y6II, Moto C+, Meizu M5C,
Lenovo K4 Note and Sony Xperia E5. Lenovo K4 Note and Sony Xperia E5.
@ -110,8 +120,6 @@
* Fix potential NPE when removing media sources from a * Fix potential NPE when removing media sources from a
DynamicConcatenatingMediaSource DynamicConcatenatingMediaSource
([#3796](https://github.com/google/ExoPlayer/issues/3796)). ([#3796](https://github.com/google/ExoPlayer/issues/3796)).
* Open source DownloadService, DownloadManager and related classes
([#2643](https://github.com/google/ExoPlayer/issues/2643)).
* Check `sys.display-size` on Philips ATVs * Check `sys.display-size` on Philips ATVs
([#3807](https://github.com/google/ExoPlayer/issues/3807)). ([#3807](https://github.com/google/ExoPlayer/issues/3807)).
* Release `Extractor`s on the loading thread to avoid potentially leaking * Release `Extractor`s on the loading thread to avoid potentially leaking

View File

@ -28,7 +28,7 @@ project.ext {
junitVersion = '4.12' junitVersion = '4.12'
truthVersion = '0.35' truthVersion = '0.35'
robolectricVersion = '3.4.2' robolectricVersion = '3.4.2'
releaseVersion = '2.6.1' releaseVersion = '2.7.0'
modulePrefix = ':' modulePrefix = ':'
if (gradle.ext.has('exoplayerModulePrefix')) { if (gradle.ext.has('exoplayerModulePrefix')) {
modulePrefix += gradle.ext.exoplayerModulePrefix modulePrefix += gradle.ext.exoplayerModulePrefix

View File

@ -15,8 +15,8 @@
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.exoplayer2.castdemo" package="com.google.android.exoplayer2.castdemo"
android:versionCode="2601" android:versionCode="2700"
android:versionName="2.6.1"> android:versionName="2.7.0">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="27"/> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="27"/>

View File

@ -15,8 +15,8 @@
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.exoplayer2.imademo" package="com.google.android.exoplayer2.imademo"
android:versionCode="2601" android:versionCode="2700"
android:versionName="2.6.1"> android:versionName="2.7.0">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="27"/> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="27"/>

View File

@ -16,8 +16,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.exoplayer2.demo" package="com.google.android.exoplayer2.demo"
android:versionCode="2601" android:versionCode="2700"
android:versionName="2.6.1"> android:versionName="2.7.0">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

View File

@ -31,13 +31,13 @@ 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.6.1"; public static final String VERSION = "2.7.0";
/** /**
* 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.6.1"; public static final String VERSION_SLASHY = "ExoPlayerLib/2.7.0";
/** /**
* The version of the library expressed as an integer, for example 1002003. * The version of the library expressed as an integer, for example 1002003.
@ -47,7 +47,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 = 2006001; public static final int VERSION_INT = 2007000;
/** /**
* Whether the library was compiled with {@link com.google.android.exoplayer2.util.Assertions} * Whether the library was compiled with {@link com.google.android.exoplayer2.util.Assertions}