You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -798,6 +805,14 @@ When set to a value greater than `1`, the latency-controller will adjust `video.
798
805
799
806
The default value is `1`, which disables playback rate adjustment. Set `maxLiveSyncPlaybackRate` to a value greater than `1` to enable playback rate adjustment at the live edge.
800
807
808
+
### `timelineOffset`
809
+
810
+
(default: `undefined`)
811
+
812
+
An optional time offset in seconds applied to fragment start times and timeline calculations. This is useful for synchronizing timelines across multiple HLS instances, such as when using Interstitials or when coordinating playback with external systems.
813
+
814
+
When set, the offset is applied to fragment start positions, seek operations, and timeline calculations. The offset is stored in level details as `appliedTimelineOffset` and can be modified dynamically through the `InterstitialPlayer.timelineOffset` property for interstitial asset players.
815
+
801
816
### `liveDurationInfinity`
802
817
803
818
(default: `false`)
@@ -1099,6 +1114,14 @@ The ratio of frames dropped to frames elapsed within `fpsDroppedMonitoringPeriod
1099
1114
Max number of `sourceBuffer.appendBuffer()` retry upon error.
1100
1115
Such error could happen in loop with UHD streams, when internal buffer is full. (Quota Exceeding Error will be triggered). In that case we need to wait for the browser to evict some data before being able to append buffer correctly.
1101
1116
1117
+
### `ignorePlaylistParsingErrors`
1118
+
1119
+
(default: `false`)
1120
+
1121
+
When set to `false`, playlist parsing errors will trigger `ERROR` events with `ErrorDetails.LEVEL_PARSING_ERROR`, allowing your application to handle them.
1122
+
1123
+
When set to `true`, playlist parsing errors will be ignored and playback will continue. The errors will still be logged but will not trigger error events.
1124
+
1102
1125
### `loader`
1103
1126
1104
1127
(default: standard `XMLHttpRequest`-based URL loader)
@@ -1346,6 +1369,14 @@ Customized fps controller.
1346
1369
A class in charge of monitoring frame rate, that emits `FPS_DROP` events when frames dropped exceeds configured threshold.
1347
1370
Enable the default fps controller by setting `capLevelOnFPSDrop` to `true`.
1348
1371
1372
+
### `errorController`
1373
+
1374
+
(default: internal error controller)
1375
+
1376
+
Customized error controller.
1377
+
1378
+
A class in charge of handling errors and error recovery logic. The error controller processes error events and implements recovery strategies such as level switching and fragment retry logic.
1379
+
1349
1380
### `timelineController`
1350
1381
1351
1382
(default: internal track timeline controller)
@@ -1602,6 +1633,14 @@ then if config value is set to `true`, ABR will use 2.5 Mb/s for this quality le
1602
1633
Return the capping/min bandwidth value that could be used by automatic level selection algorithm.
1603
1634
Useful when browser or tab of the browser is not in the focus and bandwidth drops
1604
1635
1636
+
### `preserveManualLevelOnError`
1637
+
1638
+
(default: `false`)
1639
+
1640
+
When set to `false`, if auto-level selection is disabled and a fragment error occurs, HLS.js will reset the manual level selection (`hls.loadLevel` will be set to `-1`), allowing automatic level selection to take over.
1641
+
1642
+
When set to `true`, the manual level selection will be preserved even when fragment errors occur, preventing automatic fallback to ABR.
1643
+
1605
1644
### `emeEnabled`
1606
1645
1607
1646
(default: `false`)
@@ -1781,6 +1820,28 @@ The time (in seconds) ahead of the end of a live playlist to request scheduled I
1781
1820
1782
1821
The default value is `10`, meaning that HLS.js will begin requesting interstitial ASSET-LIST and ASSET-URIs whose START-DATE is within 10 seconds of the program-date-time at the end of the primary variant playlist while the forward buffer is within a target duration of the same range.
1783
1822
1823
+
### `assetPlayerId`
1824
+
1825
+
(default: `undefined`)
1826
+
1827
+
An optional identifier string that is prefixed to debug logs for this HLS instance. This is particularly useful when multiple HLS instances are running simultaneously (such as when using Interstitials with asset players) to distinguish log messages from different players.
1828
+
1829
+
When set, the `assetPlayerId` is included in log messages and can be used to identify which HLS instance generated a particular log entry.
1830
+
1831
+
### `primarySessionId`
1832
+
1833
+
(default: `undefined`)
1834
+
1835
+
An optional identifier string used to identify the primary HLS session when working with Interstitials. This value is passed to interstitial asset URLs via the `_HLS_primary_id` query parameter, allowing the server to associate interstitial requests with the primary session.
1836
+
1837
+
This is primarily used internally by HLS.js when creating interstitial asset players, but can be set manually if you need to coordinate multiple HLS instances.
1838
+
1839
+
### `useMediaCapabilities`
1840
+
1841
+
(default value is `true` except in the light build or custom builds with setting the **USE_MEDIA_CAPABILITIES** flag to `false`.)
1842
+
1843
+
- get/set: Whether the MediaCapabilities API is used for level, track, and switch filtering. When enabled, HLS.js uses `navigator.mediaCapabilities.decodingInfo()` to determine if a level or track is supported before selection. Some devices may incorrectly report MediaCapabilities, leading to levels/tracks being filtered out that the device actually supports. Whether or not tracks are filtered automatically using this feature, you can manually remove unsupported levels using `hls.removeLevel(levelIndex)` after the manifest is parsed.
0 commit comments