@oddin-gg/havik-player 2.25.0 → 2.25.1

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
@@ -494,14 +494,19 @@ failure while "online" keeps its ordinary retry path.
494
494
 
495
495
  What happens on a network loss, by layer:
496
496
 
497
- - **hls.js engine**: a fatal network error with no HTTP status that lands while
498
- the browser says offline parks the loader instead of spending the five-attempt
499
- retry budget on requests that cannot succeed; the end-of-stream and starvation
500
- watchdogs stand down with it, so a long drop is never read as the stream's end.
501
- The `online` event restarts it at once, budget refunded, with hls.js, the
502
- buffer and the DRM key sessions all still in place, so a short drop resumes in
503
- a part or two rather than through a full re-attach. A failure that carries a
504
- status is the origin's answer and is never parked.
497
+ - **hls.js engine**: the browser's `offline` event engages a hold at once: the
498
+ end-of-stream and starvation watchdogs stand down (a playlist that cannot be
499
+ fetched is not a stream that ended), and a fatal network error with no HTTP
500
+ status parks the loader instead of spending the five-attempt retry budget.
501
+ The hold keys off the browser's signal because hls.js itself may never raise
502
+ a fatal error during an outage: measured in Chromium, it sits in its own
503
+ playlist-retry backoff for the whole of a 20 s loss. The `online` event
504
+ releases the hold, refunds the budget and restarts the loader right away,
505
+ with hls.js, the buffer and the DRM key sessions all still in place: measured
506
+ in Chromium against a local live stream, the offline card is up 5 ms after
507
+ the loss and playback is back 120 ms after the link returns, through one
508
+ resolve for the whole session. A failure that carries a status is the
509
+ origin's answer and is never parked.
505
510
  - **Native engine (Safari)**: the element reports one opaque error for
506
511
  everything; while the browser says offline it is typed `NETWORK`, and the
507
512
  managed player re-attaches on `online`.
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.25.0/dist/havik-player.global.js" integrity="sha384-Q5KzgOEvnd+a/0dfEEovWiaTdruyt7ADjHF+VrOdCwBVYwhc7NwWxlr/1WOixrVc" crossorigin="anonymous"></script>
31
+ <script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.25.1/dist/havik-player.global.js" integrity="sha384-yWIIiYBGAmMNuObEaCqXU3CpnniQZuR2ZsjYW/6rbXx6pC+nM9r5RyK4UaJuCDQM" 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.25.0/dist/havik-player.global.js" integrity="sha384-Q5KzgOEvnd+a/0dfEEovWiaTdruyt7ADjHF+VrOdCwBVYwhc7NwWxlr/1WOixrVc" crossorigin="anonymous"></script>
15
+ <script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.25.1/dist/havik-player.global.js" integrity="sha384-yWIIiYBGAmMNuObEaCqXU3CpnniQZuR2ZsjYW/6rbXx6pC+nM9r5RyK4UaJuCDQM" 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.25.0",
3
+ "version": "2.25.1",
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,