Re-format the unreleased section of RELEASENOTES.md

The auto-formatter wants it to look like this, and will reformat
the whole list when an item is added, so let's put that diff in a
standalone change.

PiperOrigin-RevId: 298305479
This commit is contained in:
ibaker 2020-03-02 10:23:44 +00:00 committed by Oliver Woodman
parent a12d72c72c
commit ea51e6ee8e

View File

@ -2,89 +2,93 @@
### dev-v2 (not yet released) ### ### dev-v2 (not yet released) ###
* Core library: * Core library:
* The `DefaultLoadControl` default minimum buffer is set to 50 seconds, * The `DefaultLoadControl` default minimum buffer is set to 50 seconds,
equal to the default maximum buffer. `DefaultLoadControl` applies the equal to the default maximum buffer. `DefaultLoadControl` applies the
same behavior for audio and video. same behavior for audio and video.
* Add API in `AnalyticsListener` to report video frame processing offset. * Add API in `AnalyticsListener` to report video frame processing offset.
`MediaCodecVideoRenderer` reports the event. `MediaCodecVideoRenderer` reports the event.
* Add fields `videoFrameProcessingOffsetUsSum` and * Add fields `videoFrameProcessingOffsetUsSum` and
`videoFrameProcessingOffsetUsCount` in `DecoderCounters` to compute `videoFrameProcessingOffsetUsCount` in `DecoderCounters` to compute the
the average video frame processing offset. average video frame processing offset.
* Add playlist API ([#6161](https://github.com/google/ExoPlayer/issues/6161)). * Add playlist API
* Add `play` and `pause` methods to `Player`. ([#6161](https://github.com/google/ExoPlayer/issues/6161)).
* Add `Player.getCurrentLiveOffset` to conveniently return the live offset. * Add `play` and `pause` methods to `Player`.
* Add `Player.onPlayWhenReadyChanged` with reasons. * Add `Player.getCurrentLiveOffset` to conveniently return the live
* Add `Player.onPlaybackStateChanged` and deprecate offset.
`Player.onPlayerStateChanged`. * Add `Player.onPlayWhenReadyChanged` with reasons.
* Deprecate and rename `getPlaybackError` to `getPlayerError` for consistency. * Add `Player.onPlaybackStateChanged` and deprecate
* Deprecate and rename `onLoadingChanged` to `onIsLoadingChanged` for `Player.onPlayerStateChanged`.
consistency. * Deprecate and rename `getPlaybackError` to `getPlayerError` for
* Make `MediaSourceEventListener.LoadEventInfo` and consistency.
`MediaSourceEventListener.MediaLoadData` top-level classes. * Deprecate and rename `onLoadingChanged` to `onIsLoadingChanged` for
* Rename `MediaCodecRenderer.onOutputFormatChanged` to consistency.
`MediaCodecRenderer.onOutputMediaFormatChanged`, further * Make `MediaSourceEventListener.LoadEventInfo` and
clarifying the distinction between `Format` and `MediaFormat`. `MediaSourceEventListener.MediaLoadData` top-level classes.
* Move player message-related constants from `C` to `Renderer`, to avoid * Rename `MediaCodecRenderer.onOutputFormatChanged` to
having the constants class depend on player/renderer classes. `MediaCodecRenderer.onOutputMediaFormatChanged`, further clarifying the
* Split out `common` and `extractor` submodules. distinction between `Format` and `MediaFormat`.
* Allow to explicitly send `PlayerMessage`s at the end of a stream. * Move player message-related constants from `C` to `Renderer`, to avoid
* Add `DataSpec.Builder` and deprecate most `DataSpec` constructors. having the constants class depend on player/renderer classes.
* Add `DataSpec.customData` to allow applications to pass custom data through * Split out `common` and `extractor` submodules.
`DataSource` chains. * Allow to explicitly send `PlayerMessage`s at the end of a stream.
* Add a sample count parameter to `MediaCodecRenderer.processOutputBuffer` * Add `DataSpec.Builder` and deprecate most `DataSpec` constructors.
and `AudioSink.handleBuffer` to allow batching multiple encoded frames * Add `DataSpec.customData` to allow applications to pass custom data
in one buffer. through `DataSource` chains.
* Add a `Format.Builder` and deprecate all `Format.create*` methods and most * Add a sample count parameter to `MediaCodecRenderer.processOutputBuffer`
`Format.copyWith*` methods. and `AudioSink.handleBuffer` to allow batching multiple encoded frames
* Split `Format.bitrate` into `Format.averageBitrate` and `Format.peakBitrate` in one buffer.
([#2863](https://github.com/google/ExoPlayer/issues/2863)). * Add a `Format.Builder` and deprecate all `Format.create*` methods and
* Add optional automatic `WifiLock` handling to `SimpleExoPlayer` most `Format.copyWith*` methods.
([#6914](https://github.com/google/ExoPlayer/issues/6914)). * Split `Format.bitrate` into `Format.averageBitrate` and
* Text: `Format.peakBitrate`
* Parse `<ruby>` and `<rt>` tags in WebVTT subtitles (rendering is coming ([#2863](https://github.com/google/ExoPlayer/issues/2863)).
later). * Add optional automatic `WifiLock` handling to `SimpleExoPlayer`
* Parse `text-combine-upright` CSS property (i.e. tate-chu-yoko) in WebVTT ([#6914](https://github.com/google/ExoPlayer/issues/6914)).
subtitles (rendering is coming later). * Text:
* Parse `tts:combineText` property (i.e. tate-chu-yoko) in TTML subtitles * Parse `<ruby>` and `<rt>` tags in WebVTT subtitles (rendering is coming
(rendering is coming later). later).
* Fix `SubtitlePainter` to render `EDGE_TYPE_OUTLINE` using the correct color * Parse `text-combine-upright` CSS property (i.e. tate-chu-yoko) in WebVTT
([#6724](https://github.com/google/ExoPlayer/pull/6724)). subtitles (rendering is coming later).
* Add support for WebVTT default * Parse `tts:combineText` property (i.e. tate-chu-yoko) in TTML subtitles
[text](https://www.w3.org/TR/webvtt1/#default-text-color) and (rendering is coming later).
[background](https://www.w3.org/TR/webvtt1/#default-text-background) colors * Fix `SubtitlePainter` to render `EDGE_TYPE_OUTLINE` using the correct
([PR #4178](https://github.com/google/ExoPlayer/pull/4178), color ([#6724](https://github.com/google/ExoPlayer/pull/6724)).
[issue #6581](https://github.com/google/ExoPlayer/issues/6581)). * Add support for WebVTT default
* Catch-and-log all fatal exceptions in `TextRenderer` instead of re-throwing, [text](https://www.w3.org/TR/webvtt1/#default-text-color) and
allowing playback to continue even if subtitles fail [background](https://www.w3.org/TR/webvtt1/#default-text-background)
([#6885](https://github.com/google/ExoPlayer/issues/6885)). colors ([PR #4178](https://github.com/google/ExoPlayer/pull/4178),
* Parse `tts:ruby` and `tts:rubyPosition` properties in TTML subtitles [issue #6581](https://github.com/google/ExoPlayer/issues/6581)).
(rendering is coming later). * Catch-and-log all fatal exceptions in `TextRenderer` instead of
* DRM: re-throwing, allowing playback to continue even if subtitles fail
* Add support for attaching DRM sessions to clear content in the demo app. ([#6885](https://github.com/google/ExoPlayer/issues/6885)).
* Remove `DrmSessionManager` references from all renderers. * Parse `tts:ruby` and `tts:rubyPosition` properties in TTML subtitles
`DrmSessionManager` must be injected into the MediaSources using the (rendering is coming later).
MediaSources factories. * DRM:
* Downloads: Merge downloads in `SegmentDownloader` to improve overall download * Add support for attaching DRM sessions to clear content in the demo app.
speed ([#5978](https://github.com/google/ExoPlayer/issues/5978)). * Remove `DrmSessionManager` references from all renderers.
* MP3: Add `IndexSeeker` for accurate seeks in VBR streams `DrmSessionManager` must be injected into the MediaSources using the
([#6787](https://github.com/google/ExoPlayer/issues/6787)). MediaSources factories.
This seeker is enabled by passing `FLAG_ENABLE_INDEX_SEEKING` to the * Downloads: Merge downloads in `SegmentDownloader` to improve overall
`Mp3Extractor`. It may require to scan a significant portion of the file for download speed ([#5978](https://github.com/google/ExoPlayer/issues/5978)).
seeking, which may be costly on large files. * MP3: Add `IndexSeeker` for accurate seeks in VBR streams
* MP4: Store the Android capture frame rate only in `Format.metadata`. ([#6787](https://github.com/google/ExoPlayer/issues/6787)). This seeker is
`Format.frameRate` now stores the calculated frame rate. enabled by passing `FLAG_ENABLE_INDEX_SEEKING` to the `Mp3Extractor`. It may
* Testing require to scan a significant portion of the file for seeking, which may be
* Upgrade Truth dependency from 0.44 to 1.0. costly on large files.
* Upgrade to JUnit 4.13-rc-2. * MP4: Store the Android capture frame rate only in `Format.metadata`.
* UI `Format.frameRate` now stores the calculated frame rate.
* Move logic of prev, next, fast forward and rewind to ControlDispatcher * Testing
([#6926](https://github.com/google/ExoPlayer/issues/6926)). * Upgrade Truth dependency from 0.44 to 1.0.
* Demo apps: Add * Upgrade to JUnit 4.13-rc-2.
[GL demo app](https://github.com/google/ExoPlayer/tree/dev-v2/demos/gl) to * UI
show how to render video to a `GLSurfaceView` while applying a GL shader. * Move logic of prev, next, fast forward and rewind to ControlDispatcher
([#6920](https://github.com/google/ExoPlayer/issues/6920)). ([#6926](https://github.com/google/ExoPlayer/issues/6926)).
* Metadata: Add minimal DVB Application Information Table (AIT) support * Demo apps: Add
[GL demo app](https://github.com/google/ExoPlayer/tree/dev-v2/demos/gl) to
show how to render video to a `GLSurfaceView` while applying a GL shader.
([#6920](https://github.com/google/ExoPlayer/issues/6920)).
* Metadata: Add minimal DVB Application Information Table (AIT) support
([#6922](https://github.com/google/ExoPlayer/pull/6922)). ([#6922](https://github.com/google/ExoPlayer/pull/6922)).
### 2.11.3 (2020-02-19) ### ### 2.11.3 (2020-02-19) ###