New Features
- Added a new config option,
liveBackBufferLength
, which allows developers to set the maximum amount of buffer behind the playhead during a live stream. Any buffer beyond the set max will be evicted; this should help in cases where the browser's natural buffer eviction was not sufficient. See https://github.com/video-dev/hls.js/blob/master/docs/API.md#livebackbufferlength for more info. #1845
Enhancements
- Hls.js will now load VTT segments in sync with the corresponding media. This means that segments will load beginning at the playhead, and will only download up to the end of the buffer. Previous behaviour was to download and parse every VTT segment on start. #1882
- Key load failures will now cause Hls.js to immediately downswitch to a new variant on failure, instead of retrying 3 times before switching. #1836
Bugfixes
- Ensure that streams are ended after the last fragment has buffered, even if has already been buffered. #2040
- Remux according to the initial video PTS so that streams begin at 0. This may fix stalling in streams with very small segments. #2030
- Fix missing alternate audio when the video codec is not specified in the manifest #1993
- Fixed an exception using
Set
in browsers which do not natively support it. #1984 - Restore
response
data in the load error events. #1977 - Fix stalling in Chrome when an abort error happens after seeking. #1925
- Fix playback of streams for which the segment URL looks like an mp4 fragment, but which are not mp4s. #1921
- Fix exceptions caused by attempting to load embedded audio tracks found in a manifest. #1907
- Fix parsing of segments which contain spaces in its URL. #1899
- Reuse textTracks when the track order between manifests is different. #1869
- Fix
FRAG_CHANGED
not firing on the first segment of the first level. #1872 - Fix
performance.now
usage in workers. #1866