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:
parent
2406785160
commit
69496eb17e
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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"/>
|
||||||
|
@ -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"/>
|
||||||
|
@ -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"/>
|
||||||
|
@ -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}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user