mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Clean up release notes for 2.12: Move sections into a better order
PiperOrigin-RevId: 326221199
This commit is contained in:
parent
099ea4b5b5
commit
da2f78505d
1 changed files with 62 additions and 63 deletions
125
RELEASENOTES.md
125
RELEASENOTES.md
|
|
@ -104,13 +104,24 @@
|
||||||
`AnalyticsListener.onPlayerError`.
|
`AnalyticsListener.onPlayerError`.
|
||||||
* Remove onMediaPeriodCreated/Released/ReadingStarted from
|
* Remove onMediaPeriodCreated/Released/ReadingStarted from
|
||||||
`MediaSourceEventListener` and `AnalyticsListener`.
|
`MediaSourceEventListener` and `AnalyticsListener`.
|
||||||
|
* Add Guava dependency.
|
||||||
* Video: Pass frame rate hint to `Surface.setFrameRate` on Android R devices.
|
* Video: Pass frame rate hint to `Surface.setFrameRate` on Android R devices.
|
||||||
* Track selection:
|
* Audio:
|
||||||
* Add `Player.getTrackSelector`.
|
* Add a sample count parameter to `MediaCodecRenderer.processOutputBuffer`
|
||||||
* Remove deprecated members in `DefaultTrackSelector`.
|
and `AudioSink.handleBuffer` to allow batching multiple encoded frames
|
||||||
* Add `DefaultTrackSelector` constraints for minimum video resolution,
|
in one buffer.
|
||||||
bitrate and frame rate
|
* No longer use a `MediaCodec` in audio passthrough mode.
|
||||||
([#4511](https://github.com/google/ExoPlayer/issues/4511)).
|
* Check `DefaultAudioSink` supports passthrough, in addition to checking
|
||||||
|
the `AudioCapabilities`
|
||||||
|
* Add an experimental scheduling mode to save power in offload.
|
||||||
|
([#7404](https://github.com/google/ExoPlayer/issues/7404)).
|
||||||
|
* Adjust input timestamps in `MediaCodecRenderer` to account for the
|
||||||
|
Codec2 MP3 decoder having lower timestamps on the output side.
|
||||||
|
* Propagate gapless audio metadata without the need to recreate the audio
|
||||||
|
decoders.
|
||||||
|
* Add floating point PCM output capability in `MediaCodecAudioRenderer`,
|
||||||
|
and `LibopusAudioRenderer`.
|
||||||
|
* Do not use a MediaCodec for PCM formats if AudioTrack supports it.
|
||||||
* Text:
|
* Text:
|
||||||
* Recreate the decoder when handling and swallowing decode errors in
|
* Recreate the decoder when handling and swallowing decode errors in
|
||||||
`TextRenderer`. This fixes a case where playback would never end when
|
`TextRenderer`. This fixes a case where playback would never end when
|
||||||
|
|
@ -153,55 +164,7 @@
|
||||||
standalone MPEG-TS files. The previous behavior can still be
|
standalone MPEG-TS files. The previous behavior can still be
|
||||||
obtained by manually injecting a customized
|
obtained by manually injecting a customized
|
||||||
`DefaultTsPayloadReaderFactory` into `TsExtractor`.
|
`DefaultTsPayloadReaderFactory` into `TsExtractor`.
|
||||||
* DRM:
|
* Metadata: Add minimal DVB Application Information Table (AIT) support.
|
||||||
* Add support for attaching DRM sessions to clear content in the demo app.
|
|
||||||
* Remove `DrmSessionManager` references from all renderers.
|
|
||||||
`DrmSessionManager` must be injected into the MediaSources using the
|
|
||||||
MediaSources factories.
|
|
||||||
* Add option to inject a custom `DefaultDrmSessionManager` into
|
|
||||||
`OfflineLicenseHelper`
|
|
||||||
([#7078](https://github.com/google/ExoPlayer/issues/7078)).
|
|
||||||
* Remove generics from DRM components.
|
|
||||||
* Keep DRM sessions alive for a short time before fully releasing them
|
|
||||||
([#7011](https://github.com/google/ExoPlayer/issues/7011),
|
|
||||||
[#6725](https://github.com/google/ExoPlayer/issues/6725),
|
|
||||||
[#7066](https://github.com/google/ExoPlayer/issues/7066)).
|
|
||||||
* Downloads and caching:
|
|
||||||
* Add support for offline DRM playbacks.
|
|
||||||
* Add builder in `DownloadRequest`.
|
|
||||||
* Support passing an `Executor` to `DefaultDownloaderFactory` on which
|
|
||||||
data downloads are performed.
|
|
||||||
* Parallelize and merge downloads in `SegmentDownloader` to improve
|
|
||||||
overall download speed
|
|
||||||
([#5978](https://github.com/google/ExoPlayer/issues/5978)).
|
|
||||||
* Support multiple non-overlapping write locks for the same key in
|
|
||||||
`SimpleCache`.
|
|
||||||
* Replace `CacheDataSinkFactory` and `CacheDataSourceFactory` with
|
|
||||||
`CacheDataSink.Factory` and `CacheDataSource.Factory` respectively.
|
|
||||||
* Remove `DownloadConstructorHelper` and use `CacheDataSource.Factory`
|
|
||||||
directly instead.
|
|
||||||
* Update `CachedContentIndex` to use `SecureRandom` for generating the
|
|
||||||
initialization vector used to encrypt the cache contents.
|
|
||||||
* Add `Requirements.DEVICE_STORAGE_NOT_LOW`, which can be specified as a
|
|
||||||
requirement to a `DownloadManager` for it to proceed with downloading.
|
|
||||||
* For failed downloads, propagate the `Exception` that caused the failure
|
|
||||||
to `DownloadManager.Listener.onDownloadChanged`.
|
|
||||||
* Audio:
|
|
||||||
* Add a sample count parameter to `MediaCodecRenderer.processOutputBuffer`
|
|
||||||
and `AudioSink.handleBuffer` to allow batching multiple encoded frames
|
|
||||||
in one buffer.
|
|
||||||
* No longer use a `MediaCodec` in audio passthrough mode.
|
|
||||||
* Check `DefaultAudioSink` supports passthrough, in addition to checking
|
|
||||||
the `AudioCapabilities`
|
|
||||||
* Add an experimental scheduling mode to save power in offload.
|
|
||||||
([#7404](https://github.com/google/ExoPlayer/issues/7404)).
|
|
||||||
* Adjust input timestamps in `MediaCodecRenderer` to account for the
|
|
||||||
Codec2 MP3 decoder having lower timestamps on the output side.
|
|
||||||
* Propagate gapless audio metadata without the need to recreate the audio
|
|
||||||
decoders.
|
|
||||||
* Add floating point PCM output capability in `MediaCodecAudioRenderer`,
|
|
||||||
and `LibopusAudioRenderer`.
|
|
||||||
* Do not use a MediaCodec for PCM formats if AudioTrack supports it.
|
|
||||||
* DASH:
|
* DASH:
|
||||||
* Add support for canceling in-progress segment fetches
|
* Add support for canceling in-progress segment fetches
|
||||||
([#2848](https://github.com/google/ExoPlayer/issues/2848)).
|
([#2848](https://github.com/google/ExoPlayer/issues/2848)).
|
||||||
|
|
@ -243,11 +206,6 @@
|
||||||
* FLV: Ignore `SCRIPTDATA` segments with invalid name types, rather than
|
* FLV: Ignore `SCRIPTDATA` segments with invalid name types, rather than
|
||||||
failing playback
|
failing playback
|
||||||
([#7675](https://github.com/google/ExoPlayer/issues/7675)).
|
([#7675](https://github.com/google/ExoPlayer/issues/7675)).
|
||||||
* Testing
|
|
||||||
* Add `TestExoPlayer`, a utility class with APIs to create
|
|
||||||
`SimpleExoPlayer` instances with fake components for testing.
|
|
||||||
* Upgrade Truth dependency from 0.44 to 1.0.
|
|
||||||
* Upgrade to JUnit 4.13-rc-2.
|
|
||||||
* UI
|
* UI
|
||||||
* Add `StyledPlayerView` and `StyledPlayerControlView`.
|
* Add `StyledPlayerView` and `StyledPlayerControlView`.
|
||||||
* Remove `SimpleExoPlayerView` and `PlaybackControlView`.
|
* Remove `SimpleExoPlayerView` and `PlaybackControlView`.
|
||||||
|
|
@ -260,8 +218,49 @@
|
||||||
([#6926](https://github.com/google/ExoPlayer/issues/6926)).
|
([#6926](https://github.com/google/ExoPlayer/issues/6926)).
|
||||||
* Update `TrackSelectionDialogBuilder` to use AndroidX Compat Dialog
|
* Update `TrackSelectionDialogBuilder` to use AndroidX Compat Dialog
|
||||||
([#7357](https://github.com/google/ExoPlayer/issues/7357)).
|
([#7357](https://github.com/google/ExoPlayer/issues/7357)).
|
||||||
* Metadata: Add minimal DVB Application Information Table (AIT) support
|
* Track selection:
|
||||||
([#6922](https://github.com/google/ExoPlayer/pull/6922)).
|
* Add `Player.getTrackSelector`.
|
||||||
|
* Remove deprecated members in `DefaultTrackSelector`.
|
||||||
|
* Add `DefaultTrackSelector` constraints for minimum video resolution,
|
||||||
|
bitrate and frame rate
|
||||||
|
([#4511](https://github.com/google/ExoPlayer/issues/4511)).
|
||||||
|
* Downloads and caching:
|
||||||
|
* Add support for offline DRM playbacks.
|
||||||
|
* Add builder in `DownloadRequest`.
|
||||||
|
* Support passing an `Executor` to `DefaultDownloaderFactory` on which
|
||||||
|
data downloads are performed.
|
||||||
|
* Parallelize and merge downloads in `SegmentDownloader` to improve
|
||||||
|
overall download speed
|
||||||
|
([#5978](https://github.com/google/ExoPlayer/issues/5978)).
|
||||||
|
* Support multiple non-overlapping write locks for the same key in
|
||||||
|
`SimpleCache`.
|
||||||
|
* Replace `CacheDataSinkFactory` and `CacheDataSourceFactory` with
|
||||||
|
`CacheDataSink.Factory` and `CacheDataSource.Factory` respectively.
|
||||||
|
* Remove `DownloadConstructorHelper` and use `CacheDataSource.Factory`
|
||||||
|
directly instead.
|
||||||
|
* Update `CachedContentIndex` to use `SecureRandom` for generating the
|
||||||
|
initialization vector used to encrypt the cache contents.
|
||||||
|
* Add `Requirements.DEVICE_STORAGE_NOT_LOW`, which can be specified as a
|
||||||
|
requirement to a `DownloadManager` for it to proceed with downloading.
|
||||||
|
* For failed downloads, propagate the `Exception` that caused the failure
|
||||||
|
to `DownloadManager.Listener.onDownloadChanged`.
|
||||||
|
* DRM:
|
||||||
|
* Remove `DrmSessionManager` references from all renderers.
|
||||||
|
`DrmSessionManager` must be injected into the MediaSources using the
|
||||||
|
MediaSources factories.
|
||||||
|
* Add option to inject a custom `DefaultDrmSessionManager` into
|
||||||
|
`OfflineLicenseHelper`
|
||||||
|
([#7078](https://github.com/google/ExoPlayer/issues/7078)).
|
||||||
|
* Remove generics from DRM components.
|
||||||
|
* Keep DRM sessions alive for a short time before fully releasing them
|
||||||
|
([#7011](https://github.com/google/ExoPlayer/issues/7011),
|
||||||
|
[#6725](https://github.com/google/ExoPlayer/issues/6725),
|
||||||
|
[#7066](https://github.com/google/ExoPlayer/issues/7066)).
|
||||||
|
* Testing
|
||||||
|
* Add `TestExoPlayer`, a utility class with APIs to create
|
||||||
|
`SimpleExoPlayer` instances with fake components for testing.
|
||||||
|
* Upgrade Truth dependency from 0.44 to 1.0.
|
||||||
|
* Upgrade to JUnit 4.13-rc-2.
|
||||||
* Media2 extension: Publish media2 extension for integrating ExoPlayer with
|
* Media2 extension: Publish media2 extension for integrating ExoPlayer with
|
||||||
`androidx.media2.common.SessionPlayer` and
|
`androidx.media2.common.SessionPlayer` and
|
||||||
`androidx.media2.session.MediaSession`.
|
`androidx.media2.session.MediaSession`.
|
||||||
|
|
@ -281,6 +280,7 @@
|
||||||
companion ad slots without accessing the `AdDisplayContainer`.
|
companion ad slots without accessing the `AdDisplayContainer`.
|
||||||
* Add missing notification of `VideoAdPlayerCallback.onLoaded`.
|
* Add missing notification of `VideoAdPlayerCallback.onLoaded`.
|
||||||
* Demo app:
|
* Demo app:
|
||||||
|
* Add support for attaching DRM sessions to clear content in the demo app.
|
||||||
* Support clip start/end points in `exolist.json` and demostrate manual ad
|
* Support clip start/end points in `exolist.json` and demostrate manual ad
|
||||||
insertion.
|
insertion.
|
||||||
* Retain previous position in list of samples.
|
* Retain previous position in list of samples.
|
||||||
|
|
@ -291,7 +291,6 @@
|
||||||
* Removed support for playing back in spherical stereo mode
|
* Removed support for playing back in spherical stereo mode
|
||||||
* Fix playback of ClearKey protected content on API level 26 and earlier
|
* Fix playback of ClearKey protected content on API level 26 and earlier
|
||||||
([#7735](https://github.com/google/ExoPlayer/issues/7735)).
|
([#7735](https://github.com/google/ExoPlayer/issues/7735)).
|
||||||
* Add Guava dependency.
|
|
||||||
|
|
||||||
### 2.11.7 (2020-06-29) ###
|
### 2.11.7 (2020-06-29) ###
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue