Summary
HLS.js v1.2.0 adds enhanced interoperability and accessibility via improved support for various timed metadata, captions, and subtitle formats, along with bug fixes and improvements.
Changes Since The Last Release
- Throttle audio stream controller based on main buffer state (#4809) @robwalch
- Make gap controller wait for active fragments while seeking (#4806) @robwalch
- Update functional test targets (#4812) @robwalch
- Bugfix: Use audio PTS over playlist time when aligned with video (#4808) @robwalch
- Simplify backtracking logic to handle segments without keyframes (#4807) @robwalch
- Remove Internet Explorer 11 support (#4802) @robwalch
v1.2.0-beta.1...v1.2.0-beta.2 - Paused-but-seeking video buffer hole gap jump support (#4667) @karendolan
- Fix loop loading of segments caused by backtracking logic (#4801) @robwalch
- Fix stalls in streams with segments that have no media (#4800) @robwalch
- Bugfix: Handle single sample MPEG2-TS video segments (#4794) @robwalch
- Bugfix: Slow start on stream with CAN-BLOCK-RELOAD=YES (#4793) @robwalch
- Bugfix: Include NAL filler data in AVC samples (#4789) @robwalch
- Guard against exceptions caused by destroying player in buffer stall error callbacks (#4786) @robwalch
- Bugfix:
hls.subtitleDisplay
doesn't toggle visibility until track selection (#4785) @robwalch - Fix typos in design doc (#4790) @saikatmitra91
v1.1.5...v1.2.0-beta.1 - Add Support for EXT-X-DATERANGE enhanced parsing and metadata TextTrack Cues (#4720) @robwalch
- Add support for emsg ID3 metadata in fmp4 segments (#4458) @robwalch
- Config options to disable metadata TextTrack Cue processing (#4782) @robwalch
- Add support for CMAF SEI Captions (#4459) @robwalch (Thanks to @gkolb for #2623 and @ioppermann for #4242)
- Add
ignoreDevicePixelRatio
configuration option (#3765) @i8beef - Add alternate HEVC box to fallback codec string. (#4734) @itsjamie
- Do not allow cues with negative startTimes to be added to the text track (#4757) @littlespex
- Update ID3 cues to span until playlist end, or next cue with same tag type (value.key) on cue append (#4719) @robwalch
- Include Panasonic Smart TVs and other old browsers in positive DTS gate (#4780) @jeremies
- Allow exact bitrate matches for
minAutoLevel
getter (#4629) @littlespex - Fix nudge retries happening one time fewer than nudgeRetry config (#4485) @tjenkinson
- Bugfix: Store track info when buffer codec switched (#4308) @albertdaurell
- Fix handling encrypted AAC frames when there's no encrypted data in a frame (#4514) @loganek
- Fix AAC overflow when it occurs at ADTS header (#4781) @robwalch
- Fix sidx parsing (#4334) @nklhtv
- Fix: level playlist parse error of ProgramDateTime (#4498) @hongfeih-es
- Bugfix: Incorrect manifest parsing around init segments (#4237) @hongfeih-es
- Bugfix: Low-Latency HLS endofstream (#4516) @cjpillsbury
- Bugfix: IAvoid
_appendCues
exception (#4552) @albertdaurell - Bugfix: freeze after buffer full error occur (#4686) @hongfeih-es
- Bugfix: Network hangs on streaming level switch using fetch loader (#4729) @robwalch
- Fix exception in fetch-loader error handler (#3929) @softworkz
- Bugfix: Failed to execute 'update' on 'MediaKeySession (#4577) @hongfeih-es
- Bugfix: Segmented VTT captions cease downloading on live time shifted streams (#4688) @littlespex
- Retry aligning audio playlist with main playlist if levelloaded came too early (#4600) @Frenzie
- Fix: don't re-write
baseMediaDecodeTime
in tfdt v0 to a negative value (#4670) @jwbrandon - Prevent base stream from logging after stop (#4564) @wehriam
- Bugfix:
forwardBufferLength
calculation (#4608) @hongfeih-es - Bugfix/webvtt-parse: cue offset (subtitle stream without X-TIMESTAMP-MAP) (#4557) @mtoczko
- Bugfix: IMSC1 parsing error (#4218) @mtoczko
- Refactor: replace deprecated
String.prototype.substr()
(#4605) @CommanderRoot - Prepare for supporting more audio codecs (#3930) @softworkz
- Resolve linting issue causing build to fail. (#4604) @itsjamie
- Fix esllnt not running on precommit (#4593) @tjenkinson
- Update jsdelivr urls in readme to point at canary and v1 (#4715) @tjenkinson
- Update documentation on
testBandwidth
. (#4641) @itsjamie - Fix: typos (#4603) @FredZeng
- chore: replace png logo with svg (#4601) @jungdaniel
- Add Brid.tv as a player solution that utilizes hls.js in README.md. (#4597) @Sovica
Demo Page
https://hls-js-bbdf933d-da48-407d-aaf3-68cc4ee058e7.netlify.app/demo/
API and Breaking Changes
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.