Skip to content
This repository was archived by the owner on Feb 6, 2026. It is now read-only.

Commit 0654673

Browse files
committed
Experimental StreamAMG support and build tooling
1 parent dacb728 commit 0654673

22 files changed

+534
-11
lines changed

.github/workflows/publish.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Publish package to GitHub Packages
2+
on:
3+
release:
4+
types:
5+
- created
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: read
12+
packages: write
13+
steps:
14+
- uses: actions/checkout@v3
15+
# Setup .npmrc file to publish to GitHub Packages
16+
- uses: actions/setup-node@v3
17+
with:
18+
node-version: 14
19+
cache: yarn
20+
cache-dependency-path: yarn.lock
21+
- run: yarn ci
22+
- run: yarn publish
23+
env:
24+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@othermedia:registry=https://npm.pkg.github.com

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Added by OM
2+
{
3+
"typescript.validate.enable": false,
4+
"javascript.validate.enable": false,
5+
"markdown.extension.toc.updateOnSave": false
6+
}

OMREADME.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# `playkit-js-providers`
2+
3+
Because the upstream player utilises API v3.3.0 and StreamAMG do not support it yet (they're on v3.1.6) a provider replacement is needed. The main differences between the two API versions are as follows:
4+
5+
- v3.3.0 has a baseEntry.getPlaybackContext API that returns access control information and playback sources. This does not exist in v3.1.6. Instead, the access control information is loaded via baseEntry.getContextData and is exactly the same response format as v3.3.0's getPlaybackContext except it has no sources or bumper data. We can ignore bumper data, and simply hard-code in a playManifest URL in any custom provider we build.
6+
- v3.3.0 thumbnail requests seem to be slightly different slicing to what v3.1.6 provides - however, it is possible that StreamAMG have changed their thumbnail responses for their own implementation in their current IFRAME player. So some adjustments are needed if the thumbnail on the scrubber is needed.
7+
- v3.3.0 allows POST requests with a JSON body. v3.1.6 only supports GET requests with the request information specified as query parameters, or a POST request with form data. Therefore a custom provider will need to use that request format. The response format however, is fortunately, the same.
8+
9+
## StreamAMG Provider
10+
11+
This fork mainly adds a new [StreamAMG Provider](src/k-provider/streamamg). It extends the OVP provider which is for Kaltura API v3.3.0 and implements the necessary overrides and extensions to support API v3.1.6, with all of the above differences resolved.
12+
13+
## Additional Changes
14+
15+
- Added `.vscode` to suppress TypeScript and ESLint checks since this is using Flow. You'll likely want to install Flow extension for VSCode.
16+
- Adjusted `src/index.html` that now has StreamAMG endpoints in there for testing.
17+
18+
## Building and Testing
19+
20+
See the main [README](README.md) file for information.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# OTHER MEDIA FORK
2+
3+
See [OMREADME.md](OMREADME.md)
4+
15
# PlayKit JS Providers - Cloud TV and OVP Media Provider Plugins for the [PlayKit JS Player]
26

37
[![Build Status](https://travis-ci.com/kaltura/playkit-js-providers.svg?token=s2ZQw18ukx9Q6ePzDX3F&branch=master)](https://travis-ci.com/kaltura/playkit-js-providers)

dist/playkit-ott-provider.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/playkit-ott-provider.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/playkit-ovp-provider.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/playkit-ovp-provider.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/playkit-streamamg-provider.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)