@oddin-gg/havik-player 2.0.3 → 2.1.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
@@ -67,7 +67,16 @@ export declare interface CreatePlayerOptions {
67
67
  baseUrl: string;
68
68
  matchUrn: string;
69
69
  credential: CredentialSource;
70
- /** Start playback once ready. Default: true. */
70
+ /**
71
+ * Start playback once ready. Default: true. With false the player resolves
72
+ * playback, then holds in a pre-play 'paused' state (poster + play card,
73
+ * no spinner) and defers media loading — segments and DRM license traffic —
74
+ * until the first play(). The hls.js engine still parses the manifest
75
+ * pre-play ('ready', track lists); the native engine defers all fetching
76
+ * and emits 'ready' at attach. A policy-blocked programmatic play()
77
+ * ('autoplayblocked') leaves the loader warming the buffer — media and DRM
78
+ * traffic flows from that kick, not from a viewer gesture.
79
+ */
71
80
  autoplay?: boolean;
72
81
  /** Mute the element (required for reliable autoplay with sound policies). Default: false. */
73
82
  muted?: boolean;
@@ -208,8 +217,10 @@ export declare interface CreatePlayerOptions {
208
217
  * `{ endpoint }` to point at a non-conventional beacons host.
209
218
  *
210
219
  * Privacy: the sid is an opaque per-session id, held in memory only and
211
- * never persisted; beacons carry playback QoE numbers, never identifiers
212
- * beyond the sid. See the analytics plan (D11) for the full posture.
220
+ * never persisted. Beacons carry playback QoE numbers plus the session's
221
+ * environment (form factor, device model and OS version where the browser
222
+ * offers client hints, screen, connection, embedding origin) — never an
223
+ * IP, never the raw user agent, and no identifier beyond the sid.
213
224
  */
214
225
  analytics?: boolean | {
215
226
  endpoint?: string;
@@ -645,6 +656,8 @@ export declare interface PlaybackErrorInit {
645
656
 
646
657
  export declare interface PlaybackStats {
647
658
  droppedFrames: number;
659
+ /** Frames decoded this session — the denominator dropped frames need. */
660
+ decodedFrames?: number;
648
661
  /** Live-edge latency in seconds (hls.js engine only). */
649
662
  latencySeconds?: number;
650
663
  /** The live-sync target latency hls.js is converging to, in seconds. Compare
@@ -670,6 +683,28 @@ export declare interface PlaybackStats {
670
683
  renditionBitrateKbps?: number;
671
684
  /** Duration of the most recent DRM license acquisition in ms (0 = none yet). */
672
685
  licenseTimeMs?: number;
686
+ /** RFC 6381 codec strings of the current rendition. */
687
+ videoCodec?: string;
688
+ audioCodec?: string;
689
+ /** The offered rendition ladder, ascending heights, and its top bitrate. */
690
+ ladderHeights?: number[];
691
+ ladderTopBitrateKbps?: number;
692
+ /** DRM the engine negotiated for the session. */
693
+ keySystem?: 'widevine' | 'fairplay' | 'none';
694
+ /** Robustness requested/granted, e.g. Widevine L3 (software) on the web. */
695
+ drmSecurityLevel?: string;
696
+ /** The viewer pinned a quality; ABR is not deciding. */
697
+ qualityPinned?: boolean;
698
+ /** Cumulative ABR switch direction split (renditionSwitches = both). */
699
+ upshifts?: number;
700
+ downshifts?: number;
701
+ /** Cumulative media requests completed / failed, and the durations of the
702
+ * most recent ones (ms, newest last, bounded) for interval percentiles. */
703
+ requestCount?: number;
704
+ requestErrors?: number;
705
+ requestTimesMs?: number[];
706
+ /** Host of the most recent media request — host only, never the path. */
707
+ cdnHost?: string;
673
708
  }
674
709
 
675
710
  export declare interface Player {
package/dist/index.d.ts CHANGED
@@ -67,7 +67,16 @@ export declare interface CreatePlayerOptions {
67
67
  baseUrl: string;
68
68
  matchUrn: string;
69
69
  credential: CredentialSource;
70
- /** Start playback once ready. Default: true. */
70
+ /**
71
+ * Start playback once ready. Default: true. With false the player resolves
72
+ * playback, then holds in a pre-play 'paused' state (poster + play card,
73
+ * no spinner) and defers media loading — segments and DRM license traffic —
74
+ * until the first play(). The hls.js engine still parses the manifest
75
+ * pre-play ('ready', track lists); the native engine defers all fetching
76
+ * and emits 'ready' at attach. A policy-blocked programmatic play()
77
+ * ('autoplayblocked') leaves the loader warming the buffer — media and DRM
78
+ * traffic flows from that kick, not from a viewer gesture.
79
+ */
71
80
  autoplay?: boolean;
72
81
  /** Mute the element (required for reliable autoplay with sound policies). Default: false. */
73
82
  muted?: boolean;
@@ -208,8 +217,10 @@ export declare interface CreatePlayerOptions {
208
217
  * `{ endpoint }` to point at a non-conventional beacons host.
209
218
  *
210
219
  * Privacy: the sid is an opaque per-session id, held in memory only and
211
- * never persisted; beacons carry playback QoE numbers, never identifiers
212
- * beyond the sid. See the analytics plan (D11) for the full posture.
220
+ * never persisted. Beacons carry playback QoE numbers plus the session's
221
+ * environment (form factor, device model and OS version where the browser
222
+ * offers client hints, screen, connection, embedding origin) — never an
223
+ * IP, never the raw user agent, and no identifier beyond the sid.
213
224
  */
214
225
  analytics?: boolean | {
215
226
  endpoint?: string;
@@ -645,6 +656,8 @@ export declare interface PlaybackErrorInit {
645
656
 
646
657
  export declare interface PlaybackStats {
647
658
  droppedFrames: number;
659
+ /** Frames decoded this session — the denominator dropped frames need. */
660
+ decodedFrames?: number;
648
661
  /** Live-edge latency in seconds (hls.js engine only). */
649
662
  latencySeconds?: number;
650
663
  /** The live-sync target latency hls.js is converging to, in seconds. Compare
@@ -670,6 +683,28 @@ export declare interface PlaybackStats {
670
683
  renditionBitrateKbps?: number;
671
684
  /** Duration of the most recent DRM license acquisition in ms (0 = none yet). */
672
685
  licenseTimeMs?: number;
686
+ /** RFC 6381 codec strings of the current rendition. */
687
+ videoCodec?: string;
688
+ audioCodec?: string;
689
+ /** The offered rendition ladder, ascending heights, and its top bitrate. */
690
+ ladderHeights?: number[];
691
+ ladderTopBitrateKbps?: number;
692
+ /** DRM the engine negotiated for the session. */
693
+ keySystem?: 'widevine' | 'fairplay' | 'none';
694
+ /** Robustness requested/granted, e.g. Widevine L3 (software) on the web. */
695
+ drmSecurityLevel?: string;
696
+ /** The viewer pinned a quality; ABR is not deciding. */
697
+ qualityPinned?: boolean;
698
+ /** Cumulative ABR switch direction split (renditionSwitches = both). */
699
+ upshifts?: number;
700
+ downshifts?: number;
701
+ /** Cumulative media requests completed / failed, and the durations of the
702
+ * most recent ones (ms, newest last, bounded) for interval percentiles. */
703
+ requestCount?: number;
704
+ requestErrors?: number;
705
+ requestTimesMs?: number[];
706
+ /** Host of the most recent media request — host only, never the path. */
707
+ cdnHost?: string;
673
708
  }
674
709
 
675
710
  export declare interface Player {