@oddin-gg/havik-player 2.16.13 → 2.18.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/index.d.cts CHANGED
@@ -98,6 +98,9 @@ export declare interface CatalogTournament {
98
98
  */
99
99
  export declare function clearDeviceId(): void;
100
100
 
101
+ /** Forget every remembered estimate (privacy / "reset player data" control). */
102
+ export declare function clearRememberedBandwidth(): void;
103
+
101
104
  /**
102
105
  * Endpoint selection, enforced at COMPILE time.
103
106
  *
@@ -193,6 +196,17 @@ export declare interface CreatePlayerOptions {
193
196
  * return is the one from before leaving. Default: true. Live/LL only.
194
197
  */
195
198
  snapToLiveOnRefocus?: boolean;
199
+ /**
200
+ * Start a stream at the quality this device's last measured speed allows,
201
+ * instead of always at ~360p. The hls.js engine saves its bandwidth estimate
202
+ * in localStorage (key `havik.player.bandwidth`, per connection type where the
203
+ * browser reports one) after ~10 s of playback and reuses it, discounted to
204
+ * 80%, for up to 3 days; a device that measured a slow line starts from that
205
+ * lower figure (never below 0.3 Mbps). A first visit, a stale record, or
206
+ * blocked storage keeps the conservative ~1 Mbps start. An explicit
207
+ * hlsConfig.abrEwmaDefaultEstimate or startLevel still wins. Default: true.
208
+ */
209
+ rememberBandwidth?: boolean;
196
210
  /**
197
211
  * DRM cold start: download the first init segment and parts while the
198
212
  * first key is still being acquired, instead of after it (hls.js waits for
@@ -905,6 +919,17 @@ export declare interface PlaybackStats {
905
919
  /** Times the ABR ceiling was stepped down because the device kept dropping
906
920
  * frames on the rendition it played (hls.js engine only). */
907
921
  fpsDownCaps?: number;
922
+ /** Height of the highest rendition ABR may pick right now (hls.js engine
923
+ * only). Present only while a ceiling is in force; a viewer stuck at 540p
924
+ * reads it next to `levelHeight` to see the ceiling, not the network. */
925
+ maxLevelHeight?: number;
926
+ /** Which SDK-owned cap set `maxLevelHeight`: the player's pixel box, the
927
+ * caller's `maxBitrate` budget, or frame-drop capping. Present only while
928
+ * the SDK's own ceiling is applied; when two caps land on the same rung the
929
+ * first of size, bitrate, fps is reported. Omitted when the caller handed
930
+ * capping to hls.js (`capLevelToPlayerSize` / `capLevelOnFPSDrop`), even if
931
+ * `maxLevelHeight` is set from hls.js's own cap. */
932
+ capReason?: 'size' | 'bitrate' | 'fps';
908
933
  /** Bitrate of the current rendition in kbps, when known. */
909
934
  renditionBitrateKbps?: number;
910
935
  /** Duration of the most recent DRM license acquisition in ms (0 = none yet). */
package/dist/index.d.ts CHANGED
@@ -98,6 +98,9 @@ export declare interface CatalogTournament {
98
98
  */
99
99
  export declare function clearDeviceId(): void;
100
100
 
101
+ /** Forget every remembered estimate (privacy / "reset player data" control). */
102
+ export declare function clearRememberedBandwidth(): void;
103
+
101
104
  /**
102
105
  * Endpoint selection, enforced at COMPILE time.
103
106
  *
@@ -193,6 +196,17 @@ export declare interface CreatePlayerOptions {
193
196
  * return is the one from before leaving. Default: true. Live/LL only.
194
197
  */
195
198
  snapToLiveOnRefocus?: boolean;
199
+ /**
200
+ * Start a stream at the quality this device's last measured speed allows,
201
+ * instead of always at ~360p. The hls.js engine saves its bandwidth estimate
202
+ * in localStorage (key `havik.player.bandwidth`, per connection type where the
203
+ * browser reports one) after ~10 s of playback and reuses it, discounted to
204
+ * 80%, for up to 3 days; a device that measured a slow line starts from that
205
+ * lower figure (never below 0.3 Mbps). A first visit, a stale record, or
206
+ * blocked storage keeps the conservative ~1 Mbps start. An explicit
207
+ * hlsConfig.abrEwmaDefaultEstimate or startLevel still wins. Default: true.
208
+ */
209
+ rememberBandwidth?: boolean;
196
210
  /**
197
211
  * DRM cold start: download the first init segment and parts while the
198
212
  * first key is still being acquired, instead of after it (hls.js waits for
@@ -905,6 +919,17 @@ export declare interface PlaybackStats {
905
919
  /** Times the ABR ceiling was stepped down because the device kept dropping
906
920
  * frames on the rendition it played (hls.js engine only). */
907
921
  fpsDownCaps?: number;
922
+ /** Height of the highest rendition ABR may pick right now (hls.js engine
923
+ * only). Present only while a ceiling is in force; a viewer stuck at 540p
924
+ * reads it next to `levelHeight` to see the ceiling, not the network. */
925
+ maxLevelHeight?: number;
926
+ /** Which SDK-owned cap set `maxLevelHeight`: the player's pixel box, the
927
+ * caller's `maxBitrate` budget, or frame-drop capping. Present only while
928
+ * the SDK's own ceiling is applied; when two caps land on the same rung the
929
+ * first of size, bitrate, fps is reported. Omitted when the caller handed
930
+ * capping to hls.js (`capLevelToPlayerSize` / `capLevelOnFPSDrop`), even if
931
+ * `maxLevelHeight` is set from hls.js's own cap. */
932
+ capReason?: 'size' | 'bitrate' | 'fps';
908
933
  /** Bitrate of the current rendition in kbps, when known. */
909
934
  renditionBitrateKbps?: number;
910
935
  /** Duration of the most recent DRM license acquisition in ms (0 = none yet). */