3.0.0 (2020-06-09)
Ad Features (BETA):
- Integration with Google IMA Ads SDK
- Ad-related UI elements
Offline Features:
- Allow offline downloads to be aborted
- Store creation time with offline assets
- Allow multiple concurrent storage operations on one Storage instance
- Make trackSelectionCallback async
- Allow storage of manifests that are missing inline init data
HLS Features:
- Add support for HLS Discontinuity
- Add support for multiple EXT-X-MAP tags
- Improve HLS startup latency
- Add variable substitution support to HLS parser
- Add a presentationDelay config for HLS live
UI Features:
- Expand translations: now available in 45 languages (18 built-in by default)
- Support setting source through HTML src attribute or source tag
- Large play button is configurable, and only shows on mobile UI by default
- Add playback speed selection to UI
- Add loop control element to UI
- Improve buffering spinner visibility
Subtitle/Caption Features:
- Add support for ebutts:linePadding in TTML
- Add support for cell resolution units and font percentage in TTML
- Add support for tts:border, tts:letterSpacing and tts:opacity in TTML
Other Features:
- Add API to set Cast content metadata in CastReceiver
- Add liveLatency to stats
- Allow configuration of presumed manifest accuracy, reduces extra fetches
- Take into account the playbackRate in bandwidth calculations
- Add check for E-AC3 JOC in DASH
- Improve startup performance by lazily creating segment indexes
- Support pre-standard DASH MIME type
- Allow running tests without Babel
Bugfixes:
- Fix background color of nested cues
- Fix seeking from Google Home app while casting
- Fix cancelation of pending network requests on load() and destroy()
Broken compatibility:
- Remove support for custom DASH ContentProtection schemas
- Signature for config callback "drm.initDataTransform" changed
Deprecated (with backward compatibility until v4.0):
- Uint8ArrayUtils.equal() moved to BufferUtils
- Factory methods are no longer called with "new"
- Config "manifest.dash.defaultPresentationDelay" moved to
"manifest.defaultPresentationDelay" - Storage.getStoreInProgress() deprecated (not needed with concurrent storage
operations)
Removed after deprecation in v2.5:
- Player.selectEmbeddedTextTrack
- Player.usingEmbeddedTextTrack
- Player.getManifestUri (renamed to getAssetUri)
- load() factory parameter (replaced with MIME type parameter)
- Storage configuration fields (moved into Player config under "offline")
- UI getPlayer() moved to getControls().getPlayer()
Demo App Features:
- Added trick play controls option
- Add 'audio only' to the search terms