Skip to content

v1.6.0-beta.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 11 Dec 17:45
· 35 commits to master since this release

Summary

HLS.js v1.6.0-beta.2 includes bug fixes and improvements over the last release. These changes focus on interstitials, live, audio-only, and stability.

Changes Since The Last Release

v1.6.0-beta.1...v1.6.0-beta.2

Additional features

Interstitial changes

  • Reset shouldPlay on manifest loading (#6852) @matvp91
  • Don't resume playback on interstitial transition after player is paused (#6905) @robwalch
  • Use TextTrackCue "enter" event to improve Interstitial playback timing (#6900)
  • Fallback to primary when Interstitial DateRange is removed while playing (#6894)
  • Fix: Subtitles not loaded while buffering Interstitials (#6898)
  • Fix transfer of media (element) while primary is re-attaching (#6903)
  • Fix transfer media (source) failing when MediaSource readyState is "ended" (#6904)

Live

  • Fix: Low-Latency false starts when part selection does not match fragment (#6841) @robwalch
  • Wait for playlist updates before requesting segments from expired playlists (#6855)
  • Re-align audio playlist with main when there is no overlap between audio playlist updates (#6857)
  • Fix regressions in live playlist advancement (introduced prior to beta.1) (#6872)
  • Limit live playlist reloading to scheduled updates (#6873)
  • Live reload throttling per level details schedule (#6879)
    • Maintain startup event order with autoStartLoad (#6893)

Audio-only

  • Prevent loading of audio media options with the same URI as the current level (#6785) @robwalch
  • Handle alternate audio switching and switched states (#6845)
    • Fix loading of audio media options with the same URI as the current level (#6887)
  • Unblock audio-only rendition loading (#6862)

Stability

  • Add strict type checking for Uint8Array/ArrayBuffer (#5849) @robwalch
  • Check-in on abandon rules check and abort in-flight frag when stuck on playlist loading (#6763)
  • Fix: setAudioOption skips track selection at index 0 (#6775) @matvp91
    • Fixes #6774 cherry-picked to v1.5.17
  • Fix unregister listener typo in audio-stream-controller (#6778)
  • Program-date-time, date-range, and fragment parsing optimizations (#6811)
  • Fix null XHR response handling (#6842)
  • Force media capabilities check for HEVC to avoid failure on Windows (#6849)
  • Fragment 4xx network error handling improvements (#6853)
  • Fix getVideoStartPts when timestamps wrap at MPEG-2 33-bit boundary (#6892)
  • Fixes for regressions in development introduced after beta.1:

README

Demo Page

https://17368332.hls-js-dev.pages.dev/demo/

API and Breaking Changes

  • Added hls.loadingEnabled (toggled with hls.startLoad() and hls.stopLoad() - for internal use)
  • Added Events.EVENT_CUE_ENTER (for internal use)
  • Added levelInfo: Level to LevelLoadingData and LevelLoadedData event data
  • Added track: MediaPlaylist to TrackLoadingData and TrackLoadedData event data (audio and subtitle events)
  • Added withoutMultiVariant: boolean to LevelLoadedData event
  • Added LevelDetais.expired: boolean readonly getter
  • Added LevelDetais.requestScheduled: number property (for internal use)
  • Added readonly Fragment.bitrate and Fragment.byteLength getters
  • Several Fragment properties have been changed to readonly getters or getter/setters: get baseurl(), get/set stats(), get/set programDateTime(). This impacts serialization and extension of these properties (stats will not be copied with spread operator or Object.assign).

If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.

Feedback

Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.