Releases: video-dev/hls.js
v1.4.3
Summary
HLS.js v1.4.3 includes bug fixes and improvements over the last release.
Changes Since The Last Release
- Fix long VOD looping or seeking back to 0 after buffer ejection (#5480) @robwalch
- Remove startLoad() as recovery method from API.md doc (#5478) @robwalch
Demo Page
https://ee47b958.hls-js-dev.pages.dev/
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.
v1.4.2
Summary
HLS.js v1.4.2 includes bug fixes and improvements over the last release.
Changes Since The Last Release
- Allow live level loading to recover from network being suspended (#5473) @robwalch
- Fix AV desync regression in v1.4.0 with misaligned mp4 audio (#5471) @robwalch
- Fix handling of muxed mp4 ("audiovideo") segments in Low-Latency HLS and fragment-tracker (#5460) @TroyKomodo
Demo Page
https://4cda8c72.hls-js-dev.pages.dev/
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.
v1.4.1
Summary
HLS.js v1.4.1 includes bug fixes and improvements over the last release.
Changes Since The Last Release
- Fix Low-Latency HLS Part and fragment tracking (#5423) @robwalch
- Fixes a v1.3.5 regression in Low-Latency HLS playback where additional segment are loaded while playing at the edge
- Fixes a v1.4.0 regression where partially loaded segments are not reloaded while catching up after seeking back
- Bugfix: Check for undefined audio track attribute in
findTrackId()
(#5431) @agajassi- Fixes v1.4.0 regression that prevents initial audio track selection from being performed correctly when required option is not the first (#5430)
- Retry audio and subtitle media playlist loading when alternate is not found (#5420) @robwalch
- Fixes v1.4.0 regression where fragment loading retry settings are ignored for alternate audio and subtitle track segment loading errors (#5419)
- Bugfix: reset remainderData in resetContiguity (#5410) @WilliamChiu
- Fixes stalls after seeking with "progressive" option enabled on mp4 segmented content
- Fix incorrect HEVC main profile codec id (#5438) @StaZhu
- Always use
MediaSource
returned by utils module (#5448) @robwalch - Setup npm provenance statements for signing builds (#5406) @tjenkinson
- Move
package.json#exports
types
condition to the front (#5439) @Andarist - Documentation: add Media Chrome for custom UI (#5391) @luwes
- Documentation: Fix readme logos & add Mux logo (#5390) @luwes
Demo Page
https://de6b95bc.hls-js-dev.pages.dev/demo/
API and Breaking Changes
For changes in v1.4.0, see the v1.4.0 Release Notes.
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.
v1.4.0
Summary
HLS.js v1.4.0 includes support for HLS Content Steering, EXT-X-DEFINE Variable Substitution, and preliminary support for GAP tags. An updated build process and packager provides ES module and worker script output with smaller script payloads. It also includes ABR improvements for short segments and Low-Latency HLS Parts, async xhrSetup
support, new load policy error handling config options, and other bug fixes and enhancements.
Demo Page
https://eea405db.hls-js-dev.pages.dev/
Changes Since The Last Release
New Features
- Support for HLS Content Steering (#5191) @robwalch
- GAP Tag/Attribute Support with FRAG_GAP Error (#5257) @robwalch
- Implement EXT-X-DEFINE Variable Substitution (#5161) @robwalch
- Support QUERYPARAM Variable Substitution (#5265) @robwalch
- Promisify xhrSetup (#5290) @fegauthier
- Error Handling controller and LoadPolicies (#5241) @robwalch
- Support AES-128 Encrypted Low-Latency HLS Parts (#5214) @robwalch
- Migrate to Rollup with new ESM target and UMD Worker injection (#5299) @robwalch and @tjenkinson
Enhancements and Bug Fixes
- Add playlist RTT and time-to-load given buffer ahead (#5329) @iamboorrito
- Live reload level switch and error handling improvements (#5317) @robwalch
- Support partial RENDITION-REPORT URI matches fallback (#5176) @robwalch
- Fix current quality reporting when seeking back from edge in Low-Latency streams (#5102) @robwalch
- Treat TARGETDURATION as a decimal-integer assigned a minimum value of 1 (#5159) @robwalch
- Log error and detach if MediaSource 'sourceopen' is interrupted (#5206) @robwalch
- Fix for SourceBuffer full error handling (#5332) @robwalch
- Fix M2TS probing when PAT packet is not found in first three packets (#5252) @robwalch
- Fix fallback to inline worker when exception is thrown in worker (worker.onerror) (#5270) @robwalch
- Fix initPTS change between variants (timescale or basetime change) (#5235) @robwalch
- Handle invalid signed "tfdt" decode time values (#5333) @robwalch
- Add cue id for date-range cues (#5169) @yajin2021
- Fix subtitle track selection when TextTrack kind is captions (#5297) @dstreet26
- Cleanup config on destroy since callbacks can have references to the player instance or other objects in their scope (#5279) @robwalch
- Add ES5 syntax check for UMD builds (#5301) @thornbill
- Fix demo bandwidth calculation / show estimated bitrate as line in bitrate graph (#4904) @silltho
- Fix type name error (#5295) @JackPu
- Only allow large gaps to be skipped if start gap or all fragments in range are partial (#5366) @robwalch
- Content-Steering fix: Do not clear and reload bit-identical subtitle content (#5365) @robwalch
- Relax TTFB timeout on manifest request (#5364) @robwalch
- Light build optimizations and fixes (#5160) @robwalch
- Improve bandwidth estimation and adaptive switching (#4825) @robwalch
- Cleanup Attribute RegEx (#5208) @robwalch
- Fix switching back to main audio from additional audio (#5170) @yajin2021
- Do not use optional chain operator for functional tests (#5246) @tjenkinson
- Play AES-128 stream failed sometimes (#5255) @yajin2021
- Clear subtitle-stream-controller buffered list on detach (#5355) @robwalch
- Remove fragments from FragmentTracker after transmux complete if fragment context changed (#5350) @tpaszun
- Remove fragments from FragmentTracker on BUFFER_FULL (#5354) @robwalch
- Use optional chaining operator in more places (#5243) @tjenkinson
- TypeScript enum optimizations (#5271) @robwalch
CI and Documentation
- Switch from netlify to CloudFlare Pages (#5305) @tjenkinson
- Set the git user email when updating deployments file (#5247) @tjenkinson
- Fix Netlify redirects (#5177) @tjenkinson
- Add a .node-version file and use in actions (#5178) @tjenkinson
- Switch to node 18, unpin
netlify-cli
, and workaroundnpm ci
then being broken (#5180) @tjenkinson - Switch back to official saucelabs action (#5179) @tjenkinson
- Add a link to open in stackblitz to the readme (#5307) @tjenkinson
- Documentation - Add interface for AbrController (#4842) @lpommers
- Replace ESDocs generated api-docs with api-documenter markdown (#5163) @robwalch
API and Breaking Changes
New API Features and Deprecations since v1.3
Note all deprecations are soft deprecations, meaning that none of the deprecated options or attributes were removed from the runtime player. They will remain available for backwards compatibility until v2.0.
- Added
config.workerPath
to support loading of a hosted hls.worker.js script over worker injection xhrSetup
can optionally return a Promise for async setup of XMLHttpRequest instances- ERROR Event enhancements:
- All ERROR events include an
error
property of type Error which references either a caught exception or an Error object instantiated at the point of failure with a friendly error message - Added
errorAction
property to ERROR events, used by error-controller to resolve errors through retries and adaptive switching - Added
stats
property to ERROR events, used to gather timing information from network errors - Marked ERROR event
err
deprecated (replaced byerror
)
- All ERROR events include an
- Added
LEVEL_PARSING_ERROR
toErrorDetails
, triggered when the playlist parser encounters invalid HLS content (Variable Substitution) - Added
FRAG_GAP
toErrorDetails
triggered when encountering a Segment or Part with a GAP tag or attribute, instead of attempting to load the media marked as unavailable. Error handling will attempt to switch renditions or jump the gap if a suitable replacement is not found. - Marked
lowBufferWatchdogPeriod
as deprecated (implementation missing/removed) - Deprecated loading timeout and retry config options in favor of new LoadPolicy options
- A warning is logged when configuring the player with the deprecated loading settings, as they are converted to the new load policy options.
Upgrade Disclaimer
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.
New Contributors
- @yajin2021 made their first contribution in #5169
- @silltho made their first contribution in #4904
- @dstreet26 made their first contribution in #5297
- @JackPu made their first contribution in #5295
- @fegauthier made their first contribution in #5290
- @tpaszun made their first contribution in #5350
Full Changelog: v1.3.5...v1.4.0
v1.4.0-rc.1
Summary
HLS.js v1.4.0-rc.1 is a preview release highlighting Content Steering and error handling improvements coming in version 1.4.
This release includes support for HLS Content Steering, EXT-X-DEFINE Variable Substitution, and preliminary support for GAP tags. An updated build process and packager provides ES module and worker script output with smaller script payloads. It also includes ABR improvements for short segments and Low-Latency HLS Parts, async xhrSetup
support, new load policy error handling config options, and other bug fixes and enhancements.
Changes Since The Last Release
Bug Fixes since beta 2
- Only allow large gaps to be skipped if start gap or all fragments in range are partial (#5366) @robwalch
- Content-Steering fix: Do not clear and reload bit-identical subtitle content (#5365) @robwalch
- Relax TTFB timeout on manifest request (#5364) @robwalch
New Features
- Support for HLS Content Steering (#5191) @robwalch
- GAP Tag/Attribute Support with FRAG_GAP Error (#5257) @robwalch
- Implement EXT-X-DEFINE Variable Substitution (#5161) @robwalch
- Promisify xhrSetup (#5290) @fegauthier
- Support AES-128 Encrypted Low-Latency HLS Parts (#5214) @robwalch
- Migrate to Rollup with new ESM target and UMD Worker injection (#5299) @robwalch and @tjenkinson
Enhancements and Bug Fixes
- Add playlist RTT and time-to-load given buffer ahead (#5329) @iamboorrito
- Live reload level switch and error handling improvements (#5317) @robwalch
- Support partial RENDITION-REPORT URI matches fallback (#5176) @robwalch
- Fix current quality reporting when seeking back from edge in Low-Latency streams (#5102) @robwalch
- Treat TARGETDURATION as a decimal-integer assigned a minimum value of 1 (#5159) @robwalch
- Log error and detach if MediaSource 'sourceopen' is interrupted (#5206) @robwalch
- Fix for SourceBuffer full error handling (#5332) @robwalch
- Fix M2TS probing when PAT packet is not found in first three packets (#5252) @robwalch
- Fix fallback to inline worker when exception is thrown in worker (worker.onerror) (#5270) @robwalch
- Fix initPTS change between variants (timescale or basetime change) (#5235) @robwalch
- Handle invalid signed "tfdt" decode time values (#5333) @robwalch
- Add cue id for date-range cues (#5169) @yajin2021
- Fix subtitle track selection when TextTrack kind is captions (#5297) @dstreet26
- Cleanup config on destroy since callbacks can have references to the player instance or other objects in their scope (#5279) @robwalch
- Switch from netlify to CloudFlare Pages (#5305) @tjenkinson
- Add ES5 syntax check for UMD builds (#5301) @thornbill
- Fix demo bandwidth calculation / show estimated bitrate as line in bitrate graph (#4904) @silltho
- Documentation - Add interface for AbrController (#4842) @lpommers
- Replace ESDocs generated api-docs with api-documenter markdown (#5163) @robwalch
- Fix type name error (#5295) @JackPu
Demo Page
https://6ca3a336.hls-js-dev.pages.dev/
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.
New API Features and Deprecations since v1.3
Note all deprecations are soft deprecations, meaning that none of the deprecated options or attributes were removed from the runtime player. They will remain available for backwards compatibility until v2.0.
- Added
config.workerPath
xhrSetup
can optionally return a Promise- ERROR Event enhancements:
- All ERROR events include an
error
property of type Error which references either a caught exception or an Error object instantiated at the point of failure with a friendly error message - Added
errorAction
property to ERROR events, used by error-controller to resolve errors through retries and adaptive switching - Added
stats
property to ERROR events, used to gather timing information from network errors - Marked ERROR event
err
deprecated (replaced byerror
)
- All ERROR events include an
- Added
LEVEL_PARSING_ERROR
toErrorDetails
triggered the playlist parser encounters invalid HLS content (Variable Substitution) - Added
FRAG_GAP
toErrorDetails
triggered when encountering a Segment or Part with a GAP tag or attribute, instead of attempting to load the media marked as unavailable. Error handling will attempt to switch renditions or jump the gap if a suitable replacement is not found. - Marked
lowBufferWatchdogPeriod
as deprecated (implementation missing/removed) - Deprecated loading timeout and retry config options in favor of new LoadPolicy options
- A warning is logged when configuring the player with the deprecated loading settings, as they are converted to the new load policy options.
Feedback
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.4.0-beta.2
Summary
HLS.js v1.4.0-beta.2 is a preview release highlighting Content Steering and error handling improvements coming in version 1.4.
This release includes support for HLS Content Steering, EXT-X-DEFINE Variable Substitution, and preliminary support for GAP tags. An updated build process and packager provides ES module and worker script output with smaller script payloads. It also includes ABR improvements for short segments and LL-HLS Parts, async xhrSetup
support, new load policy error handling config options, and other bug fixes and improvements.
Changes Since The Last Release
Known Issues
- #5360 Gap controller may jump large gaps when player stalls with disconnected forward buffer
- #5361 (HLS Content Steering) Pathway switching causes subtitles to be cleared and reloaded
Bug Fixes since beta 1
- Remove fragments from FragmentTracker after transmux complete if fragment context changed (#5350) @tpaszun
- Remove fragment from fragment tracker on BUFFER_FULL error and IDLE but tracked APPENDING (#5354) @robwalch
- Clear subtitle-stream-controller buffered list on detach (#5355) @robwalch
New Features
- Support for HLS Content Steering (#5191) @robwalch
- GAP Tag/Attribute Support with FRAG_GAP Error (#5257) @robwalch
- Implement EXT-X-DEFINE Variable Substitution (#5161) @robwalch
- Promisify xhrSetup (#5290) @fegauthier
- Support AES-128 Encrypted Low-Latency HLS Parts (#5214)
- Migrate to Rollup with new ESM target and UMD Worker injection (#5299) @robwalch and @tjenkinson
Enhancements and Bug Fixes
- Add playlist RTT and time-to-load given buffer ahead (#5329) @iamboorrito
- Live reload level switch and error handling improvements (#5317) @robwalch
- Support partial RENDITION-REPORT URI matches fallback (#5176)
- Fix current quality reporting when seeking back from edge in Low-Latency streams (#5102) @robwalch
- Treat TARGETDURATION as a decimal-integer assigned a minimum value of 1 (#5159)
- Log error and detach if MediaSource 'sourceopen' is interrupted (#5206)
- Fix for SourceBuffer full error handling (#5332) @robwalch
- Fix M2TS probing when PAT packet is not found in first three packets (#5252) @robwalch
- Fix fallback to inline worker when exception is thrown in worker (worker.onerror) (#5270)
- Fix initPTS change between variants (timescale or basetime change) (#5235)
- Handle invalid signed "tfdt" decode time values (#5333) @robwalch
- Add cue id for date-range cues (#5169) @yajin2021
- Fix subtitle track selection when TextTrack kind is captions (#5297) @dstreet26
- Cleanup config on destroy since callbacks can have references to the player instance or other objects in their scope (#5279)
- Switch from netlify to CloudFlare Pages (#5305) @tjenkinson
- Add ES5 syntax check for UMD builds (#5301) @thornbill
- Fix demo bandwidth calculation / show estimated bitrate as line in bitrate graph @silltho and @itsjamie
- Documentation - Add interface for AbrController (#4842) @lpommers
- Replace ESDocs generated api-docs with api-documenter markdown (#5163)
- Fix type name error (#5295) @JackPu
Demo Page
https://dbd460d4.hls-js-dev.pages.dev/
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.
New API Features and Deprecations since v1.3
Note all deprecations are soft deprecations, meaning that none of the deprecated options or attributes were removed from the runtime player. They will remain available for backwards compatibility until v2.0.
- Added
config.workerPath
xhrSetup
can optionally return a Promise- ERROR Event enhancements:
- All ERROR events include an
error
property of type Error which references either a caught exception or an Error object instantiated at the point of failure with a friendly error message - Added
errorAction
property to ERROR events, used by error-controller to resolve errors through retries and adaptive switching - Added
stats
property to ERROR events, used to gather timing information from network errors - Marked ERROR event
err
deprecated (replaced byerror
)
- All ERROR events include an
- Added
LEVEL_PARSING_ERROR
toErrorDetails
triggered the playlist parser encounters invalid HLS content (Variable Substitution) - Added
FRAG_GAP
toErrorDetails
triggered when encountering a Segment or Part with a GAP tag or attribute, instead of attempting to load the media marked as unavailable. Error handling will attempt to switch renditions or jump the gap if a suitable replacement is not found. - Marked
lowBufferWatchdogPeriod
as deprecated (implementation missing/removed) - Deprecated loading timeout and retry config options in favor of new LoadPolicy options
// deprecated
fragLoadingTimeOut
fragLoadingMaxRetry
fragLoadingRetryDelay
fragLoadingMaxRetryTimeout
manifestLoadingTimeOut
manifestLoadingMaxRetry
manifestLoadingRetryDelay
manifestLoadingMaxRetryTimeout
levelLoadingTimeOut
levelLoadingMaxRetry
levelLoadingRetryDelay
levelLoadingMaxRetryTimeout
The deprecated loading settings will continue to work with warnings. They are replaced by new policy settings for different asset types:
// LoadPolicy options replacing deprecated loading options
fragLoadPolicy: LoadPolicy;
keyLoadPolicy: LoadPolicy;
certLoadPolicy: LoadPolicy;
playlistLoadPolicy: LoadPolicy;
manifestLoadPolicy: LoadPolicy;
steeringManifestLoadPolicy: LoadPolicy {
default: LoaderConfig = {
maxTimeToFirstByteMs: number; // Max time to first byte
maxLoadTimeMs: number; // Max time for load completion
timeoutRetry: RetryConfig | null;
errorRetry: RetryConfig | null{
maxNumRetry: number; // Maximum number of retries
retryDelayMs: number; // Retry delay = 2^retryCount * retryDelayMs (exponential) or retryCount * retryDelayMs (linear)
maxRetryDelayMs: number; // Maximum delay between retries
backoff?: 'exponential' | 'linear'; // used to determine retry backoff duration (see retryDelayMs)
}
}
}
Feedback
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.4.0-beta.1
Summary
HLS.js v1.4.0-beta.1 is a preview release highlighting Content Steering and error handling improvements coming in version 1.4.
This release includes support for HLS Content Steering, EXT-X-DEFINE Variable Substitution, and preliminary support for GAP tags. An updated build process and packager provides ES module and worker script output with smaller script payloads. It also includes ABR improvements for short segments and LL-HLS Parts, async xhrSetup
support, new load policy error handling config options, and other bug fixes and improvements.
Complete List of Changes Since The Last Release
New Features
- Support for HLS Content Steering (#5191) @robwalch
- GAP Tag/Attribute Support with FRAG_GAP Error (#5257) @robwalch
- Implement EXT-X-DEFINE Variable Substitution (#5161) @robwalch
- Promisify xhrSetup (#5290) @fegauthier
- Support AES-128 Encrypted Low-Latency HLS Parts (#5214)
- Migrate to Rollup with new ESM target and UMD Worker injection (#5299) @robwalch and @tjenkinson
Enhancements and Bug Fixes
- Add playlist RTT and time-to-load given buffer ahead (#5329) @iamboorrito
- Live reload level switch and error handling improvements (#5317) @robwalch
- Support partial RENDITION-REPORT URI matches fallback (#5176)
- Fix current quality reporting when seeking back from edge in Low-Latency streams (#5102) @robwalch
- Treat TARGETDURATION as a decimal-integer assigned a minimum value of 1 (#5159)
- Log error and detach if MediaSource 'sourceopen' is interrupted (#5206)
- Fix for SourceBuffer full error handling (#5332) @robwalch
- Fix M2TS probing when PAT packet is not found in first three packets (#5252) @robwalch
- Fix fallback to inline worker when exception is thrown in worker (worker.onerror) (#5270)
- Fix initPTS change between variants (timescale or basetime change) (#5235)
- Handle invalid signed "tfdt" decode time values (#5333) @robwalch
- Add cue id for date-range cues (#5169) @yajin2021
- Fix subtitle track selection when TextTrack kind is captions (#5297) @dstreet26
- Cleanup config on destroy since callbacks can have references to the player instance or other objects in their scope (#5279)
- Switch from netlify to CloudFlare Pages (#5305) @tjenkinson
- Add ES5 syntax check for UMD builds (#5301) @thornbill
- Fix demo bandwidth calculation / show estimated bitrate as line in bitrate graph @silltho and @itsjamie
- Documentation - Add interface for AbrController (#4842) @lpommers
- Replace ESDocs generated api-docs with api-documenter markdown (#5163)
- Fix type name error (#5295) @JackPu
Demo Page
https://649613de.hls-js-dev.pages.dev/
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.
New API Features and Deprecations
Note all deprecations are soft deprecations, meaning that none of the deprecated options or attributes were removed from the runtime player. They will remain available for backwards compatibility until v2.0.
- Added
config.workerPath
xhrSetup
can optionally return a Promise- ERROR Event enhancements:
- All ERROR events include an
error
property of type Error which references either a caught exception or an Error object instantiated at the point of failure with a friendly error message - Added
errorAction
property to ERROR events, used by error-controller to resolve errors through retries and adaptive switching - Added
stats
property to ERROR events, used to gather timing information from network errors - Marked ERROR event
err
deprecated (replaced byerror
)
- All ERROR events include an
- Added
LEVEL_PARSING_ERROR
toErrorDetails
triggered the playlist parser encounters invalid HLS content (Variable Substitution) - Added
FRAG_GAP
toErrorDetails
triggered when encountering a Segment or Part with a GAP tag or attribute, instead of attempting to load the media marked as unavailable. Error handling will attempt to switch renditions or jump the gap if a suitable replacement is not found. - Marked
lowBufferWatchdogPeriod
as deprecated (implementation missing/removed) - Deprecated loading timeout and retry config options in favor of new LoadPolicy options
// deprecated
fragLoadingTimeOut
fragLoadingMaxRetry
fragLoadingRetryDelay
fragLoadingMaxRetryTimeout
manifestLoadingTimeOut
manifestLoadingMaxRetry
manifestLoadingRetryDelay
manifestLoadingMaxRetryTimeout
levelLoadingTimeOut
levelLoadingMaxRetry
levelLoadingRetryDelay
levelLoadingMaxRetryTimeout
The deprecated loading settings will continue to work with warnings. They are replaced by new policy settings for different asset types:
// LoadPolicy options replacing deprecated loading options
fragLoadPolicy: LoadPolicy;
keyLoadPolicy: LoadPolicy;
certLoadPolicy: LoadPolicy;
playlistLoadPolicy: LoadPolicy;
manifestLoadPolicy: LoadPolicy;
steeringManifestLoadPolicy: LoadPolicy {
default: LoaderConfig = {
maxTimeToFirstByteMs: number; // Max time to first byte
maxLoadTimeMs: number; // Max time for load completion
timeoutRetry: RetryConfig | null;
errorRetry: RetryConfig | null{
maxNumRetry: number; // Maximum number of retries
retryDelayMs: number; // Retry delay = 2^retryCount * retryDelayMs (exponential) or retryCount * retryDelayMs (linear)
maxRetryDelayMs: number; // Maximum delay between retries
backoff?: 'exponential' | 'linear'; // used to determine retry backoff duration (see retryDelayMs)
}
}
}
Feedback
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.3.5
Summary
HLS.js v1.3.5 includes bug fixes and improvements over the last release.
Changes Since The Last Release
- Do not filter out TextTracks with kind of "captions" from API subtitle track selection (#5297) @dstreet26
- Fixes #5292 (Tracks with
CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog"
or"public.accessibility.describes-music-and-sound"
not displayed when selected viahls.subtitleTrack = trackIndex
)
- Fixes #5292 (Tracks with
Full Changelog: v1.3.4...v1.3.5
Demo Page
https://hls-js-b77c99c4-23b8-4ab1-a7d4-6c3dbfaeacd9.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.
v1.3.4
Summary
HLS.js v1.3.4 includes bug fixes and improvements over the last release.
Changes Since The Last Release
- Fix AES-128 key sharing across playlists (#5255) @yajin2021
- Fix MPEG-TS probing when PAT and PMT are not present in the first three TS packets (#5252) @robwalch
Full Changelog: v1.3.3...v1.3.4
Demo Page
https://hls-js-73965559-fca4-40e5-9cde-d90859bfc224.netlify.app/
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.
v1.3.3
Summary
HLS.js v1.3.3 includes bug fixes and improvements over the last release.
Changes Since The Last Release
- Support AES-128 Encrypted Low-Latency HLS Parts (#5214) @robwalch
- MPEG-TS probe improvements (#5186) @robwalch
- Log error if MediaSource 'sourceopen' is interrupted by media.src being changed (#5206) @robwalch
Demo Page
https://hls-js-70cdd25b-ca22-427f-ace4-4ebba9b11dd2.netlify.app/
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.