github video-dev/hls.js v1.0.0-rc.5

latest releases: v1.5.17, v1.6.0-beta.1, v1.5.16...
pre-release3 years ago

This is a preview release of version 1.0. It is feature complete and intended for testing purposes.

Changes Since Last Release

v1.0.0-rc.4...v1.0.0-rc.5

  • Only resync playback with live streams if the buffer is starved or playback is behind liveMaxLatencyDuration or liveMaxLatencyDurationCount - #3603
  • Fix currentLevel and getAppendedFrag with alt-audio streams - #3621 closes #3602
  • Cleanup hls.destroy() and called detroy() on loaders before freeing - #3628 resolves #2104, relates to #3605 and #3606
  • Fix non-fatal error handling of invalid startLevel index - #3641 fixes #3618
  • Update nextLoadPosition right before loading a fragment or part - #3646
  • Add CONTRIBUTING and MIGRATING files #3645
  • CICD Updates - #3613, #3622

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
  • 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 to false to disable Low-latency part loading and target latency playback rate adjustment
    • progressive- (experimental) set to true 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 and hls.subtitleTracks as well as AUDIO_TRACKS_UPDATED and SUBTITLE_TRACKS_UPDATED events only list tracks in the active level's audio/sub GROUP-ID after LEVEL_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 a FRAG_PARSING_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-79fb5bf4-02e6-4474-8d1f-ec2bfc3527ff.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.

Don't miss a new hls.js release

NewReleases is sending notifications on new releases.