This is a preview release of version 1.0. It is feature complete and intended for testing purposes.
Changes Since Last Release
- Add support for delta playlist updates without blocking reload #3670 resolves #3644
- Improve fmp4 probing and codecs support #3672 resolves #3669
- Improve handling of SourceBuffer creation errors for unsupported codecs not signaled in manifest
- Safely read playlist response "age" header (thank you @radiantmediaplayer) #3685 and #3686 resolves #3680
- Calculate drift (live edge advance rate) and display live program date time in demo stats
New Features
- Apple Low-Latency HLS support
- Improved support for redundant variants with tracks
- Improved audio and subtitle track selection with multiple media and stream variants containing different GROUP-ID values
- Improved support for fmp4 streams with alternate codecs
- Progressive streaming option (experimental)
API Changes
-
New config options:
backBufferLength
config applies to Live and VOD content.liveBackBufferLength
is still supported but marked as deprecated.lowLatencyMode
- set tofalse
to disable Low-latency part loading and target latency playback rate adjustmentprogressive
- (experimental) set totrue
to stream and append loaded audio and video data before each segment load completion. It is not recommended for production or small segments with only a single GoP or less.
-
Event order and content have changed in some places. See Breaking Changes below, and please report any issues with breaking changes that impact your integrations
-
hls.audioTracks
andhls.subtitleTracks
as well asAUDIO_TRACKS_UPDATED
andSUBTITLE_TRACKS_UPDATED
events only list tracks in the active level's audio/sub GROUP-ID afterLEVEL_LOADING
- #3293 -
Added
groupId
to audio and subtitle track loading and loaded events -
Added additional error details to help identify the source of certain network error events:
SUBTITLE_LOAD_ERROR
SUBTITLE_TRACK_LOAD_TIMEOUT
UNKNOWN
-
The
FRAG_DECRYPT_ERROR
event is no longer emitted and is instead surfaced as aFRAG_PARSING_ERROR
-
Added fatal
BUFFER_INCOMPATIBLE_CODECS_ERROR
media error when all attempts to add SourceBuffers fail. -
BUFFER_CREATED
no longer fires right afterBUFFER_ADD_CODEC_ERROR
.
Breaking Changes
See the new MIGRATING guide for API changes between v1.0 and v0.14.
Known Issues
- TTFB is factored into overall bandwidth and can impact quality selection when streaming smaller segments or LL-HLS parts #3563
Summary
Demo Page
https://hls-js-d97917fe-79d9-43b5-97cc-47984d5142d1.netlify.app/demo/
Feedback
To provide feedback please a bug report or feature request via the issue tracker.
If you do file an issue, please include a test stream, and consider contributing to #3065.