@oddin-gg/havik-player 1.3.0 → 1.4.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/README.md +2 -2
- package/examples/README.md +1 -1
- package/package.json +5 -3
- package/docs/API.md +0 -1200
- package/docs/STABILITY.md +0 -56
- package/embed/index.html +0 -26
package/docs/STABILITY.md
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# API stability, versioning & support
|
|
2
|
-
|
|
3
|
-
## Semantic versioning
|
|
4
|
-
|
|
5
|
-
`@oddin-gg/havik-player` follows [SemVer](https://semver.org/). Releases are automated
|
|
6
|
-
by semantic-release from Conventional Commits: `fix:` → patch, `feat:` → minor,
|
|
7
|
-
breaking change → major. **Pin a version in production** (npm and the CDN URL).
|
|
8
|
-
|
|
9
|
-
## What is public vs internal
|
|
10
|
-
|
|
11
|
-
**Stable public API** (changes only follow SemVer; the runtime export set is frozen by
|
|
12
|
-
`test/public-api.test.ts`):
|
|
13
|
-
|
|
14
|
-
- `createPlayer` + the `Player` interface (Mode A)
|
|
15
|
-
- `resolveStream`, `fetchCatalog`, `flattenMatches`, `watchStatus`,
|
|
16
|
-
`licenseRequestHeaders`, `getDeviceId`, `clearDeviceId`, `isLowLatencyManifest` (Mode B)
|
|
17
|
-
- `mountEmbed` / `bootEmbed` + `EmbedHandle` / the `oddin:*` postMessage protocol (Mode C)
|
|
18
|
-
- `PlaybackError` and all exported `type` definitions
|
|
19
|
-
|
|
20
|
-
**Advanced / experimental** (public but may evolve faster): `pollToLive`, `isOddinMessage`.
|
|
21
|
-
|
|
22
|
-
**Internal** — **not** part of the public API and excluded from the type declarations
|
|
23
|
-
(`stripInternal`): the `PlaybackEngine` engine seam, `EngineEvent`, `resolvePlaybackOnce`,
|
|
24
|
-
`resolveCredential`. Do not depend on these.
|
|
25
|
-
|
|
26
|
-
## Deprecation policy
|
|
27
|
-
|
|
28
|
-
- Anything to be removed is first marked `@deprecated` (with the replacement) for **at
|
|
29
|
-
least one minor release** before removal.
|
|
30
|
-
- Removals and breaking signature changes ship only in a **major**, and are called out in
|
|
31
|
-
the `CHANGELOG.md` and the GitHub release notes.
|
|
32
|
-
|
|
33
|
-
## postMessage protocol (Mode C)
|
|
34
|
-
|
|
35
|
-
The host↔iframe protocol is versioned via `PROTOCOL_VERSION`, sent in `oddin:ready`.
|
|
36
|
-
Changes are additive within a major; `mountEmbed` logs a warning if the embed page's
|
|
37
|
-
protocol version differs from the host SDK's — pin the embed page version to the SDK
|
|
38
|
-
version to avoid CDN auto-update skew.
|
|
39
|
-
|
|
40
|
-
## Browser support
|
|
41
|
-
|
|
42
|
-
See [`.browserslistrc`](../.browserslistrc). DRM: Widevine on Chrome/Edge/Firefox/Android;
|
|
43
|
-
FairPlay (Safari/iOS) is not yet implemented.
|
|
44
|
-
|
|
45
|
-
## Supported versions
|
|
46
|
-
|
|
47
|
-
Security and bug fixes target the latest published minor.
|
|
48
|
-
|
|
49
|
-
## Export control / cryptography note
|
|
50
|
-
|
|
51
|
-
This SDK performs no proprietary cryptography and bundles no DRM client/CDM. It relies
|
|
52
|
-
solely on the browser's built-in Encrypted Media Extensions (EME), the OS/browser-provided
|
|
53
|
-
Content Decryption Module, and (for the device id) the standard Web Crypto API. It is
|
|
54
|
-
publicly available open-source software. For US export classification this typically falls
|
|
55
|
-
under license-exception TSU / ECCN 5D002 NLR-eligible, but confirm the appropriate
|
|
56
|
-
classification with your legal/compliance team for your jurisdiction.
|
package/embed/index.html
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<meta name="referrer" content="no-referrer" />
|
|
7
|
-
<title>Havik Player</title>
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<!--
|
|
11
|
-
Reference hosted iframe embed page (Mode C) — this file is a TEMPLATE, not a
|
|
12
|
-
production page. Before deploying:
|
|
13
|
-
1) PIN a version + add Subresource Integrity on the script below, e.g.
|
|
14
|
-
src=".../@oddin-gg/havik-player@X.Y.Z/dist/havik-player.global.js"
|
|
15
|
-
integrity="sha384-…" crossorigin="anonymous"
|
|
16
|
-
(the unpinned URL below tracks `latest` and auto-upgrades — do not ship it).
|
|
17
|
-
2) INJECT config server-side as window.HAVIK_EMBED_CONFIG (baseUrl, matchUrn,
|
|
18
|
-
apiKey, parentOrigin). When injected, the URL query string is IGNORED for
|
|
19
|
-
security; the api-key must NOT travel in the query in production.
|
|
20
|
-
-->
|
|
21
|
-
<script src="https://cdn.jsdelivr.net/npm/@oddin-gg/havik-player@1.3.0/dist/havik-player.global.js" integrity="sha384-F3IxzdIz3HFRw1ocTFFP1C3j1Q49vcrjE53xL+Bzf2rrS/+oSTT5LtFGbz9LxUwx" crossorigin="anonymous"></script>
|
|
22
|
-
<script>
|
|
23
|
-
HavikPlayer.bootEmbed();
|
|
24
|
-
</script>
|
|
25
|
-
</body>
|
|
26
|
-
</html>
|