@oddin-gg/havik-player 2.26.0 → 2.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/havik-player.global.js +2 -2
- package/dist/havik-player.global.js.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -4
- package/dist/index.d.ts +23 -4
- package/dist/index.js +205 -161
- package/dist/index.js.map +1 -1
- package/docs/API.md +11 -1
- package/embed/index.html +1 -1
- package/examples/vanilla.html +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -256,6 +256,21 @@ export declare interface CreatePlayerOptions {
|
|
|
256
256
|
* stepping.
|
|
257
257
|
*/
|
|
258
258
|
adaptiveHoldBackCeiling?: number;
|
|
259
|
+
/**
|
|
260
|
+
* Stall-aware quality ceiling (hls.js engine): after a playback stall (not in
|
|
261
|
+
* the first 10 s after playback starts or resumes, not while seeking, not
|
|
262
|
+
* with media still buffered ahead, not a wait at the live edge for a part
|
|
263
|
+
* not yet published) the player caps quality one rung below
|
|
264
|
+
* the rendition that stalled, and gives one rung back per 3 minutes of
|
|
265
|
+
* playback without another stall. Without it, ABR climbs straight back onto
|
|
266
|
+
* a rung the link just failed to carry: on measured production sessions
|
|
267
|
+
* 55-65 % of rebuffer time was such a repeat stall within 3 minutes. Each step counts
|
|
268
|
+
* in `stallDownCaps`; while it is the binding ceiling, `capReason` is
|
|
269
|
+
* `'stall'`. Default: true. Ignored while the viewer pinned a quality, and
|
|
270
|
+
* off when `hlsConfig.capLevelToPlayerSize` or `capLevelOnFPSDrop: true`
|
|
271
|
+
* hands capping to hls.js.
|
|
272
|
+
*/
|
|
273
|
+
stallCap?: boolean;
|
|
259
274
|
/**
|
|
260
275
|
* DRM cold start: download the first init segment and parts while the
|
|
261
276
|
* first key is still being acquired, instead of after it (hls.js waits for
|
|
@@ -1072,17 +1087,21 @@ export declare interface PlaybackStats {
|
|
|
1072
1087
|
/** Times the ABR ceiling was stepped down because the device kept dropping
|
|
1073
1088
|
* frames on the rendition it played (hls.js engine only). */
|
|
1074
1089
|
fpsDownCaps?: number;
|
|
1090
|
+
/** Times a playback stall stepped the ABR ceiling down one rung this session
|
|
1091
|
+
* (hls.js engine only; see `stallCap`). */
|
|
1092
|
+
stallDownCaps?: number;
|
|
1075
1093
|
/** Height of the highest rendition ABR may pick right now (hls.js engine
|
|
1076
1094
|
* only). Present only while a ceiling is in force; a viewer stuck at 540p
|
|
1077
1095
|
* reads it next to `levelHeight` to see the ceiling, not the network. */
|
|
1078
1096
|
maxLevelHeight?: number;
|
|
1079
1097
|
/** Which SDK-owned cap set `maxLevelHeight`: the player's pixel box, the
|
|
1080
|
-
* caller's `maxBitrate` budget,
|
|
1081
|
-
* the SDK's own ceiling is applied; when two
|
|
1082
|
-
* first of size, bitrate, fps is
|
|
1098
|
+
* caller's `maxBitrate` budget, frame-drop capping, or the stall-aware
|
|
1099
|
+
* ceiling. Present only while the SDK's own ceiling is applied; when two
|
|
1100
|
+
* caps land on the same rung the first of size, bitrate, fps, stall is
|
|
1101
|
+
* reported. Omitted when the caller handed
|
|
1083
1102
|
* capping to hls.js (`capLevelToPlayerSize` / `capLevelOnFPSDrop`), even if
|
|
1084
1103
|
* `maxLevelHeight` is set from hls.js's own cap. */
|
|
1085
|
-
capReason?: 'size' | 'bitrate' | 'fps';
|
|
1104
|
+
capReason?: 'size' | 'bitrate' | 'fps' | 'stall';
|
|
1086
1105
|
/** Bitrate of the current rendition in kbps, when known. */
|
|
1087
1106
|
renditionBitrateKbps?: number;
|
|
1088
1107
|
/** Duration of the most recent DRM license acquisition in ms (0 = none yet). */
|
package/dist/index.d.ts
CHANGED
|
@@ -256,6 +256,21 @@ export declare interface CreatePlayerOptions {
|
|
|
256
256
|
* stepping.
|
|
257
257
|
*/
|
|
258
258
|
adaptiveHoldBackCeiling?: number;
|
|
259
|
+
/**
|
|
260
|
+
* Stall-aware quality ceiling (hls.js engine): after a playback stall (not in
|
|
261
|
+
* the first 10 s after playback starts or resumes, not while seeking, not
|
|
262
|
+
* with media still buffered ahead, not a wait at the live edge for a part
|
|
263
|
+
* not yet published) the player caps quality one rung below
|
|
264
|
+
* the rendition that stalled, and gives one rung back per 3 minutes of
|
|
265
|
+
* playback without another stall. Without it, ABR climbs straight back onto
|
|
266
|
+
* a rung the link just failed to carry: on measured production sessions
|
|
267
|
+
* 55-65 % of rebuffer time was such a repeat stall within 3 minutes. Each step counts
|
|
268
|
+
* in `stallDownCaps`; while it is the binding ceiling, `capReason` is
|
|
269
|
+
* `'stall'`. Default: true. Ignored while the viewer pinned a quality, and
|
|
270
|
+
* off when `hlsConfig.capLevelToPlayerSize` or `capLevelOnFPSDrop: true`
|
|
271
|
+
* hands capping to hls.js.
|
|
272
|
+
*/
|
|
273
|
+
stallCap?: boolean;
|
|
259
274
|
/**
|
|
260
275
|
* DRM cold start: download the first init segment and parts while the
|
|
261
276
|
* first key is still being acquired, instead of after it (hls.js waits for
|
|
@@ -1072,17 +1087,21 @@ export declare interface PlaybackStats {
|
|
|
1072
1087
|
/** Times the ABR ceiling was stepped down because the device kept dropping
|
|
1073
1088
|
* frames on the rendition it played (hls.js engine only). */
|
|
1074
1089
|
fpsDownCaps?: number;
|
|
1090
|
+
/** Times a playback stall stepped the ABR ceiling down one rung this session
|
|
1091
|
+
* (hls.js engine only; see `stallCap`). */
|
|
1092
|
+
stallDownCaps?: number;
|
|
1075
1093
|
/** Height of the highest rendition ABR may pick right now (hls.js engine
|
|
1076
1094
|
* only). Present only while a ceiling is in force; a viewer stuck at 540p
|
|
1077
1095
|
* reads it next to `levelHeight` to see the ceiling, not the network. */
|
|
1078
1096
|
maxLevelHeight?: number;
|
|
1079
1097
|
/** Which SDK-owned cap set `maxLevelHeight`: the player's pixel box, the
|
|
1080
|
-
* caller's `maxBitrate` budget,
|
|
1081
|
-
* the SDK's own ceiling is applied; when two
|
|
1082
|
-
* first of size, bitrate, fps is
|
|
1098
|
+
* caller's `maxBitrate` budget, frame-drop capping, or the stall-aware
|
|
1099
|
+
* ceiling. Present only while the SDK's own ceiling is applied; when two
|
|
1100
|
+
* caps land on the same rung the first of size, bitrate, fps, stall is
|
|
1101
|
+
* reported. Omitted when the caller handed
|
|
1083
1102
|
* capping to hls.js (`capLevelToPlayerSize` / `capLevelOnFPSDrop`), even if
|
|
1084
1103
|
* `maxLevelHeight` is set from hls.js's own cap. */
|
|
1085
|
-
capReason?: 'size' | 'bitrate' | 'fps';
|
|
1104
|
+
capReason?: 'size' | 'bitrate' | 'fps' | 'stall';
|
|
1086
1105
|
/** Bitrate of the current rendition in kbps, when known. */
|
|
1087
1106
|
renditionBitrateKbps?: number;
|
|
1088
1107
|
/** Duration of the most recent DRM license acquisition in ms (0 = none yet). */
|