PlayerFacade¶
PlayerFacade relie l'élément média, les moteurs, les ports et les plugins. Sa configuration doit être explicite pour que les erreurs runtime soient auditables.
Attacher le runtime¶
facade.attach(videoEl, plugins, config, ports, [createShakaEngineFactory()]);
await facade.load(config);
| Paramètre | Défaut | Explication | À éviter |
|---|---|---|---|
videoEl |
Aucun | HTMLVideoElement piloté par la façade. |
Appeler load avant attach. |
plugins |
[] |
Plugins initialisés avec PlayerContext. |
Croire qu'un package installé agit sans être passé à attach. |
config |
Aucun | Configuration initiale et source de vérité au démarrage. | Muter silencieusement sans rappeler load. |
ports.http |
fetch global |
Config distante et fournisseurs externes. | Activer la config distante sans port HTTP fonctionnel. |
ports.storage |
Mémoire | Progression locale, cache de config distante, plugins. | Attendre une persistance navigateur avec le port mémoire. |
ports.telemetry |
noop |
Événements QoE, erreurs et mesures. | Envoyer des secrets média ou licence dans les logs. |
engines |
Moteur natif + moteurs fournis | Sélection du moteur selon source et capacités. | Retirer la solution de repli native pour les fichiers simples. |
Cycle de chargement¶
- Appliquer
remoteConfigsi active. - Normaliser playlist ou séries.
- Fusionner DRM et profile sur la source active.
- Sélectionner le moteur compatible.
- Charger le média.
- Publier état, événements, métadonnées, pistes et diagnostics.