Skip to content

v1.6.0-beta.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 07 Feb 21:24
78e50de

Summary

HLS.js v1.6.0-beta.3 includes bug fixes and improvements over the last release. These changes focus on interstitials and playback stability.

Changes Since The Last Release

v1.6.0-beta.2...v1.6.0-beta.3

Interstitial changes

  • Improved Interstitial fragment loading and buffering (#7002) @robwalch
  • Fix live duration override by interstitials (#6991)
  • Trigger INTERSTITIALS_PRIMARY_RESUMED after ending interstitial with CUE ONCE (#6915)
  • Interstitials: Fix additional asset player creation between assets at start (#6914)
  • Fix Interstitial asset inline buffering with other items buffered ahead (#6913)

Bug fixes

  • Gap controller fixes (#6941) @robwalch
  • Flush MSE rendering pipeline when crossing video buffer holes with audio (#6972)
  • Fix seeking into and over multiple EXT-X-GAP segments (#6988)
  • Make Fragment.stats enumerable (#6999)
  • Split the _close method from mediaDetach (#6966) @JackPu
  • Workaround Safari "ended" event not firing when EoS is marked before seek on start (#6980) @robwalch
  • Fix reset of "ended" state after main muxed audio flush (#6921
  • Fix audio track switch where only characteristics differ (#6963)
  • Fix delta updates with discontinuity tags (#6950)
  • Fix assumptions in multi-drm cases where only playready is available for playback. (#6946) @cjpillsbury
  • Support HEVC VPS coming after SPS (#6940) @devoldemar
  • Exclude AC3 and HEVC remuxing from light build (#6944) @robwalch
  • Add shortcut for light version (#6925) @denisx
  • Do not adjust initPTS without accurate playlist time offset (#6922) @robwalch
  • Replace non-null assertions in xhr-loader and gate evoking of loader callbacks (#6942)

Demo Page

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

Additional features

API

  • Added config.detectStallWithCurrentTimeMs
  • Added config.nudgeOnVideoHole
  • Added hls.pathways getter (#6997) @grabofus
  • Added hls.inFlightFragments
  • Added hjs.loadLevelObj
  • 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).

Feedback

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