@oddin-gg/havik-player 2.16.11 → 2.16.13

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/docs/API.md CHANGED
@@ -278,6 +278,11 @@ don't need to set any of the live or ABR knobs:
278
278
  internal **ceiling (~12 s, derived as `max(12, liveLatencyTarget + 9)`)**. This is what
279
279
  stops latency from snowballing to tens of seconds after buffering. The ceiling
280
280
  is internal and always kept above your `liveLatencyTarget`.
281
+ - **No catch‑up rate on Safari.** On a WebKit media stack the catch‑up rate is
282
+ 1.0×: every playback‑rate change froze Safari's picture for 270–480 ms with
283
+ media buffered (measured 2026‑10‑18), which outweighs the drift it recovers.
284
+ Drift there is corrected by the ceiling's seek alone;
285
+ `hlsConfig.maxLiveSyncPlaybackRate` puts a rate back if you want it.
281
286
  - **Over‑seek clamp**: the drift ceiling's counterpart on the _near_ side. A seek
282
287
  that lands closer to live than `liveLatencyTarget` is pulled back onto it, so
283
288
  dragging the scrub bar to its far right means **"go live"** rather than landing
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.16.11/dist/havik-player.global.js" integrity="sha384-U0hwhlrj2DRDkhEuKwToTFvZOuhNeSM1zMiNxvjsCaOLw/iSXVV6P96gL2QUYCT6" crossorigin="anonymous"></script>
31
+ <script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.16.13/dist/havik-player.global.js" integrity="sha384-ucmLWSWWZs8Tj3LcsYXpb9XwTCE40fXLAI3Cyq/XbfpDB7hB249NHR7Tjd4X89hZ" crossorigin="anonymous"></script>
32
32
  <script>
33
33
  HavikPlayer.bootEmbed();
34
34
  </script>
@@ -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.16.11/dist/havik-player.global.js" integrity="sha384-U0hwhlrj2DRDkhEuKwToTFvZOuhNeSM1zMiNxvjsCaOLw/iSXVV6P96gL2QUYCT6" crossorigin="anonymous"></script>
15
+ <script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.16.13/dist/havik-player.global.js" integrity="sha384-ucmLWSWWZs8Tj3LcsYXpb9XwTCE40fXLAI3Cyq/XbfpDB7hB249NHR7Tjd4X89hZ" 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.16.11",
3
+ "version": "2.16.13",
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,