@oddin-gg/havik-player 2.15.2 → 2.15.3
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 +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +242 -197
- package/dist/index.js.map +1 -1
- package/docs/API.md +13 -0
- package/embed/index.html +1 -1
- package/examples/vanilla.html +1 -1
- package/package.json +1 -1
package/docs/API.md
CHANGED
|
@@ -315,6 +315,17 @@ can't crash the player: if you pass the count‑based `liveSyncDurationCount` /
|
|
|
315
315
|
rejects mixing the two); if you set `liveSyncDuration` alone, a matching ceiling
|
|
316
316
|
is derived above it.
|
|
317
317
|
|
|
318
|
+
- **Quality steps down when the device can't decode it.** If the browser keeps
|
|
319
|
+
dropping more than 20% of frames for two 3 s checks in a row, the SDK caps
|
|
320
|
+
ABR one rendition below the one playing (counted in `fpsDownCaps`). This is
|
|
321
|
+
what keeps a laptop without hardware decoding from showing a stuttering
|
|
322
|
+
picture that drifts away from the sound. It folds into the same cap as the
|
|
323
|
+
player‑size and `maxBitrate` limits, never applies to a quality the viewer
|
|
324
|
+
pinned, and stays down for the session. Setting
|
|
325
|
+
`hlsConfig.capLevelOnFPSDrop: false` turns frame‑drop capping off; `true` runs
|
|
326
|
+
hls.js's own controller instead, whose cap a later player‑size or `maxBitrate`
|
|
327
|
+
recompute can overwrite.
|
|
328
|
+
|
|
318
329
|
- **Futile catch‑up is stopped.** hls.js speeds playback up (to 1.1×) whenever
|
|
319
330
|
latency sits above the target, and only lowers its ambition after a counted
|
|
320
331
|
rebuffer. On an edge that is itself seconds behind, a player that keeps a
|
|
@@ -1246,6 +1257,8 @@ interface PlaybackStats {
|
|
|
1246
1257
|
lowLatency?: boolean; // whether LL-HLS was detected in the manifest
|
|
1247
1258
|
isLive?: boolean; // current media playlist is live
|
|
1248
1259
|
atLiveEdge?: boolean; // playback is at/near the live edge
|
|
1260
|
+
liveRetargets?: number; // times a futile catch-up moved the live target (hls.js engine)
|
|
1261
|
+
fpsDownCaps?: number; // times quality was capped because the device dropped frames (hls.js engine)
|
|
1249
1262
|
}
|
|
1250
1263
|
```
|
|
1251
1264
|
|
package/embed/index.html
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
beacons endpoint can be derived and QoE analytics is silently off.
|
|
29
29
|
`analytics` is honoured from the injected config only, never the query.
|
|
30
30
|
-->
|
|
31
|
-
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.15.
|
|
31
|
+
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.15.3/dist/havik-player.global.js" integrity="sha384-6QXvumRSWQy+koXgkH0D46YFSKo9W6Pw1Cc6AZfBWxqa8MpAc3T7HKiMHHBTGsZh" crossorigin="anonymous"></script>
|
|
32
32
|
<script>
|
|
33
33
|
HavikPlayer.bootEmbed();
|
|
34
34
|
</script>
|
package/examples/vanilla.html
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
shipped in each npm release is pinned to that release with Subresource
|
|
13
13
|
Integrity, injected at publish time (scripts/inject-sri.mjs). In
|
|
14
14
|
production, always use a pinned + SRI'd tag like the released copy. -->
|
|
15
|
-
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.15.
|
|
15
|
+
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.15.3/dist/havik-player.global.js" integrity="sha384-6QXvumRSWQy+koXgkH0D46YFSKo9W6Pw1Cc6AZfBWxqa8MpAc3T7HKiMHHBTGsZh" crossorigin="anonymous"></script>
|
|
16
16
|
<script>
|
|
17
17
|
(async () => {
|
|
18
18
|
const player = await HavikPlayer.createPlayer({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oddin-gg/havik-player",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.3",
|
|
4
4
|
"description": "Havik HTML5 player SDK — LL-HLS + DRM playback for Oddin live streams (managed, bring-your-own-player, and iframe-embed modes).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|