Skip to content

Commit

Permalink
Add blog posts to release notes
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 332940209
  • Loading branch information
ojw28 committed Sep 21, 2020
1 parent 9acf1e8 commit d386d03
Showing 1 changed file with 37 additions and 25 deletions.
62 changes: 37 additions & 25 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@

### 2.12.0 (2020-09-11) ###

To learn more about what's new in 2.12, read the corresponding
[blog post](https://medium.com/google-exoplayer/exoplayer-2-12-whats-new-e43ef8ff72e7).

* Core library:
* `Player`:
* Add a top level playlist API based on a new `MediaItem` class
([#6161](https://github.com/google/ExoPlayer/issues/6161)). The
new methods for playlist manipulation are `setMediaItem(s)`,
([#6161](https://github.com/google/ExoPlayer/issues/6161)). The new
methods for playlist manipulation are `setMediaItem(s)`,
`addMediaItem(s)`, `moveMediaItem(s)`, `removeMediaItem(s)` and
`clearMediaItems`. The playlist can be queried using
`getMediaItemCount` and `getMediaItemAt`. This API should be used
instead of `ConcatenatingMediaSource` in most cases.
* Add `getCurrentMediaItem` for getting the currently playing item
in the playlist.
* Add `EventListener.onMediaItemTransition` to report when
playback transitions from one item to another in the playlist.
instead of `ConcatenatingMediaSource` in most cases. Learn more by
reading
[this blog post](https://medium.com/google-exoplayer/a-top-level-playlist-api-for-exoplayer-abe0a24edb55).
* Add `getCurrentMediaItem` for getting the currently playing item in
the playlist.
* Add `EventListener.onMediaItemTransition` to report when playback
transitions from one item to another in the playlist.
* Add `play` and `pause` convenience methods. They are equivalent to
`setPlayWhenReady(true)` and `setPlayWhenReady(false)` respectively.
* Add `getCurrentLiveOffset` for getting the offset of the current
Expand All @@ -23,6 +28,11 @@
player.
* Add `AudioComponent.setAudioSessionId` to set the audio session ID.
This method is also available on `SimpleExoPlayer`.
* Remove `PlaybackParameters.skipSilence`, and replace it with
`AudioComponent.setSkipSilenceEnabled`. This method is also
available on `SimpleExoPlayer`. An
`AudioListener.onSkipSilenceEnabledChanged` callback is also
added.
* Add `TextComponent.getCurrentCues` to get the current cues. This
method is also available on `SimpleExoPlayer`. The current cues are
no longer automatically forwarded to a `TextOutput` when it's added
Expand All @@ -39,9 +49,6 @@
* Deprecate `EventListener.onSeekProcessed` because seek changes now
happen instantly and listening to `onPositionDiscontinuity` is
sufficient.
* Split off `skipSilence' from `PlaybackParameter` and move it
to `AudioComponent.setSkipSilenceEnabled` with callback
`AudioListener.onSkipSilenceEnabledChanged`.
* `ExoPlayer`:
* Add `setMediaSource(s)` and `addMediaSource(s)` to `ExoPlayer`, for
adding `MediaSource` instances directly to the playlist.
Expand Down Expand Up @@ -79,8 +86,8 @@
([#7309](https://github.com/google/ExoPlayer/issues/7309)).
`LoadErrorHandlingPolicy` implementations should migrate to implementing
the non-deprecated methods of the interface.
* Add an option to `MergingMediaSource` to adjust the time offsets
between the merged sources
* Add an option to `MergingMediaSource` to adjust the time offsets between
the merged sources
([#6103](https://github.com/google/ExoPlayer/issues/6103)).
* Move `MediaSourceEventListener.LoadEventInfo` and
`MediaSourceEventListener.MediaLoadData` to be top-level classes in
Expand All @@ -90,11 +97,10 @@
generalize them to work with `Decoder` rather than `SimpleDecoder`.
* Deprecate `C.MSG_*` constants, replacing them with constants in
`Renderer`.
* Split the `library-core` module into `library-core`,
`library-common` and `library-extractor`. The `library-core` module
has an API dependency on both of the new modules, so this change
should be transparent to developers including ExoPlayer using Gradle
dependencies.
* Split the `library-core` module into `library-core`, `library-common`
and `library-extractor`. The `library-core` module has an API dependency
on both of the new modules, so this change should be transparent to
developers including ExoPlayer using Gradle dependencies.
* Add a dependency on Guava.
* Video:
* Pass frame rate hint to `Surface.setFrameRate` on Android 11.
Expand Down Expand Up @@ -134,6 +140,10 @@
the `AudioCapabilities`
([#7404](https://github.com/google/ExoPlayer/issues/7404)).
* Text:
* Many of the changes described below improve support for Japanese
subtitles. Read
[this blog post](https://medium.com/google-exoplayer/improved-japanese-subtitle-support-7598fee12cf4)
to learn more.
* Add a WebView-based output option to `SubtitleView`. This can display
some features not supported by the existing Canvas-based output such as
vertical text and rubies. It can be enabled by calling
Expand Down Expand Up @@ -296,8 +306,8 @@
* Analytics:
* Extend `EventTime` with more details about the current player state
([#7332](https://github.com/google/ExoPlayer/issues/7332)).
* Add `AnalyticsListener.onVideoFrameProcessingOffset` to report how
early or late video frames are processed relative to them needing to be
* Add `AnalyticsListener.onVideoFrameProcessingOffset` to report how early
or late video frames are processed relative to them needing to be
presented. Video frame processing offset fields are also added to
`DecoderCounters`.
* Fix incorrect `MediaPeriodId` for some renderer errors reported by
Expand All @@ -307,7 +317,9 @@
* Test utils: Add `TestExoPlayer`, a utility class with APIs to create
`SimpleExoPlayer` instances with fake components for testing.
* Media2 extension: This is a new extension that makes it easy to use
ExoPlayer together with AndroidX Media2.
ExoPlayer together with AndroidX Media2. Read
[this blog post](https://medium.com/google-exoplayer/the-media2-extension-for-exoplayer-d6b7d89b9063)
to learn more.
* Cast extension: Implement playlist API and deprecate the old queue
manipulation API.
* IMA extension:
Expand Down Expand Up @@ -337,11 +349,11 @@
* Add `clip_start_position_ms` and `clip_end_position_ms` to allow
clipped samples.
* Use `StyledPlayerControlView` rather than `PlayerView`.
* Remove support for media tunneling, random ABR and playback of
spherical video. Developers wishing to experiment with these features
can enable them by modifying the demo app source code.
* Add support for downloading DRM-protected content using offline
Widevine licenses.
* Remove support for media tunneling, random ABR and playback of spherical
video. Developers wishing to experiment with these features can enable
them by modifying the demo app source code.
* Add support for downloading DRM-protected content using offline Widevine
licenses.

### 2.11.8 (2020-08-25) ###

Expand Down

0 comments on commit d386d03

Please sign in to comment.