@oddin-gg/havik-player 2.28.0 → 2.28.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/dist/havik-player.global.js +2 -2
- package/dist/havik-player.global.js.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +196 -186
- package/dist/index.js.map +1 -1
- package/docs/API.md +9 -0
- package/embed/index.html +1 -1
- package/examples/vanilla.html +1 -1
- package/package.json +1 -1
package/docs/API.md
CHANGED
|
@@ -381,6 +381,15 @@ is derived above it.
|
|
|
381
381
|
30 s of healthy playback; a slow start, a seek, a pause, a hidden tab and an
|
|
382
382
|
offline browser never count. Counted in `stuckReloads`; `stuckReload: false`
|
|
383
383
|
turns it off.
|
|
384
|
+
- **A buffer hole hls.js cannot nudge across jumps to live.** When hls.js gives
|
|
385
|
+
up seeking the playhead over a hole in the buffer (its fatal
|
|
386
|
+
`bufferSeekOverHole`, or a `bufferStalledError` after its nudge budget) on a
|
|
387
|
+
live stream, the SDK restarts loading at the live edge, which is past the
|
|
388
|
+
hole, with the media element, the buffer and the DRM key sessions still in
|
|
389
|
+
place. Twice per 30 s of healthy playback, out of the same three-recovery
|
|
390
|
+
budget the MediaSource rebuild uses; after that, and on VOD, the
|
|
391
|
+
MediaSource is rebuilt as before, and the fourth consecutive failure is the
|
|
392
|
+
fatal error it always was.
|
|
384
393
|
|
|
385
394
|
- **Futile catch‑up is stopped.** hls.js speeds playback up (to 1.1×) whenever
|
|
386
395
|
latency sits above the target, and only lowers its ambition after a counted
|
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.28.
|
|
31
|
+
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.28.1/dist/havik-player.global.js" integrity="sha384-MsDlqFBRNSeEkb89GR3AJ7jOau99rUmmttHqnHzmad+L9+HpYWywrL4YuFIPn+4o" 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.28.
|
|
15
|
+
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@2.28.1/dist/havik-player.global.js" integrity="sha384-MsDlqFBRNSeEkb89GR3AJ7jOau99rUmmttHqnHzmad+L9+HpYWywrL4YuFIPn+4o" 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.28.
|
|
3
|
+
"version": "2.28.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,
|