Plugins and Providers¶
| Capability | Purpose | Notes |
|---|---|---|
| Progress | Save and resume progress. | Local, server, or hybrid depending on ProgressConfig. |
| Resilience | Retry and recovery after transient errors. | Tune for mobile, TV, live, or enterprise networks. |
| Metadata providers | Local sidecar, TMDb, OMDb, TVMaze. | API keys and cache remain integration-side. |
| Subtitle providers | Local and OpenSubtitles. | Format normalization and preferred language. |
| Ads | IMA CSAI, SSAI DAI, or MediaTailor. | Separate packages to avoid loading simple apps. |
| Offline | Materializes eligible sources. | Requires storage adapter and rights policy. |
| Telemetry | Events, errors, and measurements. | Through ports for analytics or monitoring. |
Integration Rule¶
A plugin must be:
- installed as an npm package;
- configured with its options;
- passed to
PlayerFacade.attachor provided by the Angular shell; - documented in the consuming application if its behavior changes rights, playback, or user data.