mirror of
https://github.com/samsonjs/media.git
synced 2026-04-02 10:45:51 +00:00
Clean up release notes in preparation for 2.9.0
- Try and put things into a vaguely sane order - Remove/simplify overly-detailed release notes ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=211447350
This commit is contained in:
parent
80e64e58ec
commit
70f8aeb10b
1 changed files with 96 additions and 111 deletions
207
RELEASENOTES.md
207
RELEASENOTES.md
|
|
@ -2,129 +2,114 @@
|
|||
|
||||
### dev-v2 (not yet released) ###
|
||||
|
||||
* WAV: Fix issue where white noise would be output at the end of playback
|
||||
([#4724](https://github.com/google/ExoPlayer/issues/4724)).
|
||||
* Add a flag to opt-in to automatic audio focus handling via
|
||||
* Turned on Java 8 compiler support for the ExoPlayer library. Apps that depend
|
||||
on ExoPlayer via its source code rather than an AAR may need to add
|
||||
`compileOptions { targetCompatibility JavaVersion.VERSION_1_8 }` to their
|
||||
gradle settings to ensure bytecode compatibility.
|
||||
* Set `compileSdkVersion` and `targetSdkVersion` to 28.
|
||||
* Added support for automatic audio focus handling via
|
||||
`SimpleExoPlayer.setAudioAttributes`.
|
||||
* Distribute Cronet extension via jCenter.
|
||||
* Set compileSdkVersion and targetSdkVersion to 28.
|
||||
* Add `AudioListener` for listening to changes in audio configuration during
|
||||
playback ([#3994](https://github.com/google/ExoPlayer/issues/3994)).
|
||||
* Improved seeking support:
|
||||
* Add `LoadErrorHandlingPolicy` to allow configuration of load error handling
|
||||
across `MediaSource` implementations
|
||||
([#3370](https://github.com/google/ExoPlayer/issues/3370)).
|
||||
* Allow passing a `Looper`, which specifies the thread that must be used to
|
||||
access the player, when instantiating player instances using
|
||||
`ExoPlayerFactory` ([#4278](https://github.com/google/ExoPlayer/issues/4278)).
|
||||
* Simplified `BandwidthMeter` injection: The `BandwidthMeter` should now be
|
||||
passed directly to `ExoPlayerFactory`, instead of to `TrackSelection.Factory`
|
||||
and `DataSource.Factory`. The `BandwidthMeter` is passed to the components
|
||||
that need it internally. The `BandwidthMeter` may also be omitted, in which
|
||||
case a default instance will be used.
|
||||
* Spherical video
|
||||
* Support for spherical video by setting `surface_type="spherical_view"` on
|
||||
`PlayerView`.
|
||||
* Support for
|
||||
[VR180](https://github.com/google/spatial-media/blob/master/docs/vr180.md).
|
||||
* HLS:
|
||||
* Support PlayReady.
|
||||
* Support alternative `EXT-X-KEY` tags.
|
||||
* Support `EXT-X-INDEPENDENT-SEGMENTS` in the master playlist.
|
||||
* Support variable substitution
|
||||
([#4422](https://github.com/google/ExoPlayer/issues/4422)).
|
||||
* Fix the bitrate being unset on primary track sample formats
|
||||
([#3297](https://github.com/google/ExoPlayer/issues/3297)).
|
||||
* Improved seeking support for progressive streams:
|
||||
* Support seeking in MPEG-TS
|
||||
([#966](https://github.com/google/ExoPlayer/issues/966)).
|
||||
* Support seeking in MPEG-PS
|
||||
([#4476](https://github.com/google/ExoPlayer/issues/4476)).
|
||||
* Support approximate seeking in ADTS using a constant bitrate assumption
|
||||
([#4548](https://github.com/google/ExoPlayer/issues/4548)). Note that the
|
||||
([#4548](https://github.com/google/ExoPlayer/issues/4548)). The
|
||||
`FLAG_ENABLE_CONSTANT_BITRATE_SEEKING` flag must be set on the extractor to
|
||||
enable this functionality.
|
||||
* Support approximate seeking in AMR using a constant bitrate assumption.
|
||||
Note that the `FLAG_ENABLE_CONSTANT_BITRATE_SEEKING` flag must be set on the
|
||||
extractor to enable this functionality.
|
||||
The `FLAG_ENABLE_CONSTANT_BITRATE_SEEKING` flag must be set on the extractor
|
||||
to enable this functionality.
|
||||
* Add `DefaultExtractorsFactory.setConstantBitrateSeekingEnabled` to enable
|
||||
approximate seeking using a constant bitrate assumption for all extractors
|
||||
approximate seeking using a constant bitrate assumption on all extractors
|
||||
that support it.
|
||||
* MPEG-TS: Support CEA-608/708 in H262
|
||||
([#2565](https://github.com/google/ExoPlayer/issues/2565)).
|
||||
* MediaSession extension: Allow apps to set custom errors.
|
||||
* Video:
|
||||
* Add callback to `VideoListener` to notify of surface size changes.
|
||||
* Improved performance when playing high frame-rate content, and when playing
|
||||
at greater than 1x speed
|
||||
([#2777](https://github.com/google/ExoPlayer/issues/2777)).
|
||||
* Scale up the initial video decoder maximum input size so playlist
|
||||
transitions with small increases in maximum sample size do not require
|
||||
reinitialization ([#4510](https://github.com/google/ExoPlayer/issues/4510)).
|
||||
* Fix a bug where the player would not transition to the ended state when
|
||||
playing video in tunneled mode.
|
||||
* Audio:
|
||||
* Add support for mu-law and A-law PCM with the ffmpeg extension
|
||||
* Support attaching auxiliary audio effects to the `AudioTrack` via
|
||||
`Player.setAuxEffectInfo` and `Player.clearAuxEffectInfo`.
|
||||
* Support seamless adaptation while playing xHE-AAC streams.
|
||||
([#4360](https://github.com/google/ExoPlayer/issues/4360)).
|
||||
* Increase `AudioTrack` buffer sizes to the theoretical maximum required for
|
||||
each encoding for passthrough playbacks
|
||||
([#3803](https://github.com/google/ExoPlayer/issues/3803)).
|
||||
* Add support for attaching auxiliary audio effects to the `AudioTrack`.
|
||||
* Add support for seamless adaptation while playing xHE-AAC streams.
|
||||
* Video:
|
||||
* Add callback to `VideoListener` to notify of surface size changes.
|
||||
* Scale up the initial video decoder maximum input size so playlist item
|
||||
transitions with small increases in maximum sample size don't require
|
||||
reinitialization ([#4510](https://github.com/google/ExoPlayer/issues/4510)).
|
||||
* Propagate the end-of-stream signal directly in the renderer when using
|
||||
tunneling, to fix an issue where the player would remain ready after the
|
||||
stream ended.
|
||||
* WAV: Fix issue where white noise would be output at the end of playback
|
||||
([#4724](https://github.com/google/ExoPlayer/issues/4724)).
|
||||
* Analytics:
|
||||
* Add callbacks to `DefaultDrmSessionEventListener` and `AnalyticsListener` to
|
||||
be notified of acquired and released DRM sessions.
|
||||
* Add uri field to `LoadEventInfo` in `MediaSourceEventListener` and
|
||||
`AnalyticsListener` callbacks. This uri is the redirected uri if redirection
|
||||
occurred ([#2054](https://github.com/google/ExoPlayer/issues/2054)).
|
||||
* Add response headers field to `LoadEventInfo` in `MediaSourceEventListener`
|
||||
and `AnalyticsListener` callbacks
|
||||
([#4361](https://github.com/google/ExoPlayer/issues/4361) and
|
||||
[#4615](https://github.com/google/ExoPlayer/issues/4615)).
|
||||
* UI components:
|
||||
* Add option to `PlayerView` to show buffering view when playWhenReady is
|
||||
false ([#4304](https://github.com/google/ExoPlayer/issues/4304)).
|
||||
* Allow any `Drawable` to be used as `PlayerView` default artwork.
|
||||
* ConcatenatingMediaSource:
|
||||
* Support lazy preparation of playlist media sources
|
||||
([#3972](https://github.com/google/ExoPlayer/issues/3972)).
|
||||
* Support range removal with `removeMediaSourceRange` methods
|
||||
([#4542](https://github.com/google/ExoPlayer/issues/4542)).
|
||||
* MPEG-TS: Support CEA-608/708 in H262
|
||||
([#2565](https://github.com/google/ExoPlayer/issues/2565)).
|
||||
* Allow apps to pass a `CacheKeyFactory` for setting custom cache keys when
|
||||
creating a `CacheDataSource`.
|
||||
* Turned on Java 8 compiler support for the ExoPlayer library. Apps that depend
|
||||
on ExoPlayer via its source code rather than an AAR may need to add
|
||||
`compileOptions { targetCompatibility JavaVersion.VERSION_1_8 }` to their
|
||||
gradle settings to ensure bytecode compatibility.
|
||||
* ConcatenatingMediaSource:
|
||||
* Add support for lazy preparation of playlist media sources
|
||||
([#3972](https://github.com/google/ExoPlayer/issues/3972)).
|
||||
* Add support for range removal with `removeMediaSourceRange` methods.
|
||||
* `BandwidthMeter` management:
|
||||
* Pass `BandwidthMeter` directly to `ExoPlayerFactory` instead of
|
||||
`TrackSelection.Factory` and `DataSource.Factory`. May also be omitted to
|
||||
use the default bandwidth meter automatically. This change only works
|
||||
correctly if the following changes are adopted for custom `BandwidthMeter`s,
|
||||
`TrackSelection`s, `MediaSource`s and `DataSource`s.
|
||||
* Pass `BandwidthMeter` to `TrackSelection.Factory` which should be used to
|
||||
obtain bandwidth estimates.
|
||||
* Add method to `BandwidthMeter` to return the `TransferListener` used to
|
||||
gather bandwidth information. Also add methods to add and remove event
|
||||
listeners.
|
||||
* Pass `TransferListener` to `MediaSource`s to listen to media data transfers.
|
||||
* Add method to `DataSource` to add `TransferListener`s. Custom `DataSource`s
|
||||
directly reading data should implement `BaseDataSource` to handle the
|
||||
registration correctly. Custom `DataSource`'s forwarding to other sources
|
||||
should forward all calls to `addTransferListener`.
|
||||
* Extend `TransferListener` with additional callback parameters.
|
||||
* Error handling:
|
||||
* Allow configuration of the Loader retry delay
|
||||
([#3370](https://github.com/google/ExoPlayer/issues/3370)).
|
||||
* HLS:
|
||||
* Add support for variable substitution
|
||||
([#4422](https://github.com/google/ExoPlayer/issues/4422)).
|
||||
* Add support for PlayReady.
|
||||
* Add support for alternative EXT-X-KEY tags.
|
||||
* Set the bitrate on primary track sample formats
|
||||
([#3297](https://github.com/google/ExoPlayer/issues/3297)).
|
||||
* Pass HTTP response headers to `HlsExtractorFactory.createExtractor`.
|
||||
* Add support for EXT-X-INDEPENDENT-SEGMENTS in the master playlist.
|
||||
* Support load error handling customization
|
||||
([#2981](https://github.com/google/ExoPlayer/issues/2981)).
|
||||
* Fix bug when reporting buffered position for multi-period windows and add
|
||||
two additional convenience methods `Player.getTotalBufferedDuration` and
|
||||
`Player.getContentBufferedDuration`
|
||||
([#4023](https://github.com/google/ExoPlayer/issues/4023)).
|
||||
* MediaSession extension:
|
||||
* Allow apps to set custom metadata with a MediaMetadataProvider
|
||||
([#3497](https://github.com/google/ExoPlayer/issues/3497)).
|
||||
* Improved performance when playing high frame-rate content, and when playing
|
||||
at greater than 1x speed
|
||||
([#2777](https://github.com/google/ExoPlayer/issues/2777)).
|
||||
* Allow setting the `Looper`, which is used to access the player, in
|
||||
`ExoPlayerFactory` ([#4278](https://github.com/google/ExoPlayer/issues/4278)).
|
||||
* Use default Deserializers if non given to DownloadManager.
|
||||
* 360:
|
||||
* Add monoscopic 360 surface type to PlayerView.
|
||||
* Support
|
||||
[VR180 video format](https://github.com/google/spatial-media/blob/master/docs/vr180.md).
|
||||
* Deprecate `Player.DefaultEventListener` as selective listener overrides can
|
||||
be directly made with the `Player.EventListener` interface.
|
||||
* Deprecate `DefaultAnalyticsListener` as selective listener overrides can be
|
||||
directly made with the `AnalyticsListener` interface.
|
||||
* Add uri field to `LoadEventInfo` in `MediaSourceEventListener` or
|
||||
`AnalyticsListener` callbacks. This uri is the redirected uri if redirection
|
||||
occurred ([#2054](https://github.com/google/ExoPlayer/issues/2054)).
|
||||
* Add response headers field to `LoadEventInfo` in `MediaSourceEventListener` or
|
||||
`AnalyticsListener` callbacks
|
||||
([#4361](https://github.com/google/ExoPlayer/issues/4361) and
|
||||
[#4615](https://github.com/google/ExoPlayer/issues/4615)).
|
||||
* Provide additional information for adaptive track selection.
|
||||
`TrackSelection.updateSelectedTrack` has two new parameters for the current
|
||||
queue of media chunks and iterators for information about upcoming chunks.
|
||||
* Allow `MediaCodecSelector`s to return multiple compatible decoders for
|
||||
`MediaCodecRenderer`, and provide an (optional) `MediaCodecSelector` that
|
||||
falls back to less preferred decoders like `MediaCodec.createDecoderByType`
|
||||
([#273](https://github.com/google/ExoPlayer/issues/273)).
|
||||
* Fix where transitions to clipped media sources happened too early
|
||||
* Fix bug reporting buffered position for multi-period windows, and add
|
||||
convenience methods `Player.getTotalBufferedDuration` and
|
||||
`Player.getContentBufferedDuration`
|
||||
([#4023](https://github.com/google/ExoPlayer/issues/4023)).
|
||||
* Fix bug where transitions to clipped media sources would happen too early
|
||||
([#4583](https://github.com/google/ExoPlayer/issues/4583)).
|
||||
* Add `DataSpec.httpMethod` and update `HttpDataSource` implementations to
|
||||
support HTTP HEAD method. Previously, only GET and POST were supported.
|
||||
* Add option to show buffering view when playWhenReady is false
|
||||
([#4304](https://github.com/google/ExoPlayer/issues/4304)).
|
||||
* Allow any `Drawable` to be used as `PlayerView` default artwork.
|
||||
* IMA:
|
||||
* Fix bugs reporting events for multi-period media sources
|
||||
([#4492](https://github.com/google/ExoPlayer/issues/4492) and
|
||||
[#4634](https://github.com/google/ExoPlayer/issues/4634)).
|
||||
* IMA extension:
|
||||
* Refine the previous fix for empty ad groups to avoid discarding ad breaks
|
||||
unnecessarily ([#4030](https://github.com/google/ExoPlayer/issues/4030)),
|
||||
([#4280](https://github.com/google/ExoPlayer/issues/4280)).
|
||||
|
|
@ -132,24 +117,23 @@
|
|||
([#4681](https://github.com/google/ExoPlayer/issues/4681).
|
||||
* Fix handling of postrolls with multiple ads
|
||||
([#4710](https://github.com/google/ExoPlayer/issues/4710).
|
||||
* Provide additional information for adaptive track selection.
|
||||
`TrackSelection.updateSelectedTrack` has two new parameters for the current
|
||||
queue of media chunks and iterators for information about upcoming chunks.
|
||||
* Prevent potential issues when reporting events for multi-period media sources
|
||||
([#4492](https://github.com/google/ExoPlayer/issues/4492) and
|
||||
[#4634](https://github.com/google/ExoPlayer/issues/4634)).
|
||||
* Add callbacks to `DefaultDrmSessionEventListener` and `AnalyticsListener` to
|
||||
get notified of acquired and released DRM sessions.
|
||||
* MediaSession extension:
|
||||
* Add `MediaSessionConnector.setCustomErrorMessage` to support setting custom
|
||||
error messages.
|
||||
* Add `MediaMetadataProvider` to support setting custom metadata
|
||||
([#3497](https://github.com/google/ExoPlayer/issues/3497)).
|
||||
* Cronet extension: Now distributed via jCenter.
|
||||
* FFmpeg extension: Support mu-law and A-law PCM.
|
||||
|
||||
### 2.8.4 ###
|
||||
|
||||
* IMA: Improve handling of consecutive empty ad groups
|
||||
* IMA extension: Improve handling of consecutive empty ad groups
|
||||
([#4030](https://github.com/google/ExoPlayer/issues/4030)),
|
||||
([#4280](https://github.com/google/ExoPlayer/issues/4280)).
|
||||
|
||||
### 2.8.3 ###
|
||||
|
||||
* IMA:
|
||||
* IMA extension:
|
||||
* Fix behavior when creating/releasing the player then releasing
|
||||
`ImaAdsLoader` ([#3879](https://github.com/google/ExoPlayer/issues/3879)).
|
||||
* Add support for setting slots for companion ads.
|
||||
|
|
@ -192,8 +176,9 @@
|
|||
|
||||
### 2.8.2 ###
|
||||
|
||||
* IMA: Don't advertise support for video/mpeg ad media, as we don't have an
|
||||
extractor for this ([#4297](https://github.com/google/ExoPlayer/issues/4297)).
|
||||
* IMA extension: Don't advertise support for video/mpeg ad media, as we don't
|
||||
have an extractor for this
|
||||
([#4297](https://github.com/google/ExoPlayer/issues/4297)).
|
||||
* DASH: Fix playback getting stuck when playing representations that have both
|
||||
sidx atoms and non-zero presentationTimeOffset values.
|
||||
* HLS:
|
||||
|
|
@ -338,7 +323,7 @@
|
|||
([#4164](https://github.com/google/ExoPlayer/issues/4182)).
|
||||
* Fix seeking in live streams
|
||||
([#4187](https://github.com/google/ExoPlayer/issues/4187)).
|
||||
* IMA:
|
||||
* IMA extension:
|
||||
* Allow setting the ad media load timeout
|
||||
([#3691](https://github.com/google/ExoPlayer/issues/3691)).
|
||||
* Expose ad load errors via `MediaSourceEventListener` on `AdsMediaSource`,
|
||||
|
|
|
|||
Loading…
Reference in a new issue