Summary
HLS.js v1.7.0-alpha.1 is a pre-release marking a number of significant changes since the last v.16.x patch (all "v1.16.16-canary releases since v1.7.0-alpha.0 should have been versioned as 1.7 canary). This is not a feature-complete release. See the v1.7.0 milestone page and planning board for more info.
Changes Since The Last Release
v1.7.0-alpha.0...v1.7.0-alpha.1
API additions
hls.nextAudioTrackgetter/setter : Smooth audio switching (#7575) @krseagerPLAYLIST_UNCHANGED_ERRORevent : Max Unchanged Live Updates (#7704) @dzianis-dashkevichMEDIA_SOURCE_REQUIRES_RESETerror event (MediaSource closed while attached or ended on append error) (#7699) @christriants- Started with: Track "sourceended" event and handle ManagedMediaSource recovery (#7697) @zalishchuk*
- Additional work (#7702, #7707) @robwalch
- Only emit
FRAG_PARSING_USERDATAwhen text samples are found (#7686) @XephyrKenny abrSwitchIntervalconfig option (#7669) @christriantsappendTimeoutconfig option : append operation timeout handling (#7670) @dzianis-dashkevich
Enhancements
- Implemented smooth audio switching (#7575) @krseager
- Max Unchanged Live Updates (#7704) @dzianis-dashkevich
- Support playback for elementary audio stream encrypted using Sample-AES (#7479) @Yesterday17
- DRM and Multi-key handling improvements (#7517) @robwalch
ResolvesetMediaKeysonly once media is attached (#7615) - Verify byte-range responses (#7701)
- Improve playlist alignment when PDT across playlists is inconsistent (#7482)
- Clear Fragment and Part resolved url cache (#7731)
- Prevent audio buffer flush on first track switch (#7696)
- Append queue logging and M2TS init segment handling (#7695)
- Resolve end-of-stream (for "ended" event) with empty or gap segments at end of playlist (#7609)
- Add SourceBuffer append operation timeout handling (#7670) @dzianis-dashkevich
- Check integrity of MPEG-TS video stream. (#7094) @mstyura
- feat: Add MISB KLV metadata extraction from MPEG-TS and CMAF streams (#7668) @jacorbello
- Allow KLV parsing when audio is available (follow up to #7668) (#7673) @jacorbello
Bug fixes
- fix: handle page restoration from bfcache in Safari (#7683) @christriants
- fixed issue with seeking backward leading to stalling OR elevated buffering (#7577) @krseager
- fix: cea608 parser make sure pos is within bounds of chars array which has size of NR_COLS (#7666) @chelleccarlyle
- Fix WebVTT loading issue when progressive is enabled by disabling progressive loading for WebVTT (#7649) @krseager
- Fixed issue where certain Tizen devices would get stuck seeking over buffer gaps (#7630) @krseager
- Fix issue where some devices not works with PlayReady (#7631) @KunXi-Fox
- Fixed exception in interstitial-controller on legacy platforms where media.play() does not return a Promise (#7586) @malickyeu
- Fix Pathway Cloning PARAMS applied after PER-VARIANT-URIS (#7710) @robwalch
- Fixed Content Steering URI-REPLACEMENT: HOST applies to the Hostname, (#7655)
- Adjust initPTS when switching results in dropped GoP at start (#7700)
- Fix Low-Latency HLS VTT subtitle part loading (#7626)
- Restart loading in
recoverMediaErrorwhenautoStartLoadis disabled (#7693) - Fix endless while loop in gap controller with bad streams (#7661)
- Fix fallback to primary on live start (#7651)
- Do not reset interstitial when seeking between assets (#7650)
- Fix switching back to main audio(-only) after end-of-stream buffered (#7645)
Build and CI
- fix(build-config): correct interstitial env vars and content-steering condition (#7727) @zalishchuk
- Update Chrome configuration for macOS in build.yml (#7698, #7698) @robwalch
- Increase minimum Windows test version for saucelabs (#7602) @robwalch
Documentation and README
- Create SECURITY.md (#7685) @pr4v33n7-sa
- Fix links for API Docs in README (#7637) @daniemo2
- Add Labra-Flex to 'They use HLS.js in production!' section (#7419) @aaskaoui
- Updated documentation (#7628) @krseager
Demo Page
https://a24cf9ae.hls-js-dev.pages.dev/demo/
Feedback
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.