eb-player 2.0.17 → 2.0.19

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.
Files changed (38) hide show
  1. package/dist/build/ebplayer.bundle.js +482 -53
  2. package/dist/build/ebplayer.bundle.js.map +1 -1
  3. package/dist/build/types/core/event-bus.d.ts +2 -0
  4. package/dist/build/types/core/event-bus.d.ts.map +1 -1
  5. package/dist/build/types/core/fsm.d.ts +4 -1
  6. package/dist/build/types/core/fsm.d.ts.map +1 -1
  7. package/dist/build/types/core/i18n.d.ts.map +1 -1
  8. package/dist/build/types/core/lifecycle.d.ts.map +1 -1
  9. package/dist/build/types/core/player-state.d.ts.map +1 -1
  10. package/dist/build/types/core/types.d.ts +1 -0
  11. package/dist/build/types/core/types.d.ts.map +1 -1
  12. package/dist/build/types/eb-player.d.ts.map +1 -1
  13. package/dist/build/types/engines/base-engine.d.ts +16 -0
  14. package/dist/build/types/engines/base-engine.d.ts.map +1 -1
  15. package/dist/build/types/engines/dash.d.ts.map +1 -1
  16. package/dist/build/types/engines/hls.d.ts.map +1 -1
  17. package/dist/build/types/engines/retry/hls.d.ts +13 -1
  18. package/dist/build/types/engines/retry/hls.d.ts.map +1 -1
  19. package/dist/build/types/integrations/ads-manager.d.ts +6 -1
  20. package/dist/build/types/integrations/ads-manager.d.ts.map +1 -1
  21. package/dist/build/types/integrations/index.d.ts +1 -0
  22. package/dist/build/types/integrations/index.d.ts.map +1 -1
  23. package/dist/build/types/integrations/intro-stream-manager.d.ts +33 -0
  24. package/dist/build/types/integrations/intro-stream-manager.d.ts.map +1 -0
  25. package/dist/build/types/integrations/p2p-manager.d.ts +9 -0
  26. package/dist/build/types/integrations/p2p-manager.d.ts.map +1 -1
  27. package/dist/build/types/skin/controllers/auto-hide.d.ts +2 -2
  28. package/dist/build/types/skin/controllers/auto-hide.d.ts.map +1 -1
  29. package/dist/build/types/skin/controllers/keyboard.d.ts +1 -1
  30. package/dist/build/types/skin/controls/forward-button.d.ts +1 -1
  31. package/dist/build/types/skin/controls/forward-button.d.ts.map +1 -1
  32. package/dist/build/types/skin/controls/rewind-button.d.ts +1 -1
  33. package/dist/build/types/skin/controls/rewind-button.d.ts.map +1 -1
  34. package/dist/build/types/skin/controls/seekbar.d.ts.map +1 -1
  35. package/dist/build/types/skin/overlays/preroll-overlay.d.ts +39 -0
  36. package/dist/build/types/skin/overlays/preroll-overlay.d.ts.map +1 -0
  37. package/dist/build/types/skin/skin-root.d.ts.map +1 -1
  38. package/package.json +4 -2
@@ -8,6 +8,8 @@
8
8
  export interface EventMap {
9
9
  'request-reload': void;
10
10
  'ad-complete': void;
11
+ 'intro-stream-complete': void;
12
+ 'preroll-skip': void;
11
13
  'cast-stop': void;
12
14
  'error-fatal': {
13
15
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../src/core/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IAEvB,gBAAgB,EAAE,IAAI,CAAA;IACtB,aAAa,EAAE,IAAI,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;IACjB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,aAAa,EAAE,IAAI,CAAA;IACnB,yBAAyB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,mBAAmB,EAAE,IAAI,CAAA;IAGzB,MAAM,EAAE,IAAI,CAAA;IACZ,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,WAAW,EAAE,IAAI,CAAA;IACjB,aAAa,EAAE,IAAI,CAAA;IACnB,eAAe,EAAE,IAAI,CAAA;IACrB,eAAe,EAAE,IAAI,CAAA;IACrB,yBAAyB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,uBAAuB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,0BAA0B,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,uBAAuB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,iBAAiB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAA;IAGlD,wBAAwB,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAA;CACpF;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1E,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9D,CAAC,KAAK,EAAE,CAAC,CAAC,GACV,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpC;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;;IAM5E;;;OAGG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EACzB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,IAAI;IA2BP;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAiB1D;;;OAGG;IACH,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../../src/core/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IAEvB,gBAAgB,EAAE,IAAI,CAAA;IACtB,aAAa,EAAE,IAAI,CAAA;IACnB,uBAAuB,EAAE,IAAI,CAAA;IAC7B,cAAc,EAAE,IAAI,CAAA;IACpB,WAAW,EAAE,IAAI,CAAA;IACjB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,aAAa,EAAE,IAAI,CAAA;IACnB,yBAAyB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,mBAAmB,EAAE,IAAI,CAAA;IAGzB,MAAM,EAAE,IAAI,CAAA;IACZ,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,WAAW,EAAE,IAAI,CAAA;IACjB,aAAa,EAAE,IAAI,CAAA;IACnB,eAAe,EAAE,IAAI,CAAA;IACrB,eAAe,EAAE,IAAI,CAAA;IACrB,yBAAyB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,uBAAuB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,0BAA0B,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,uBAAuB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,iBAAiB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAA;IAGlD,wBAAwB,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAA;CACpF;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1E,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9D,CAAC,KAAK,EAAE,CAAC,CAAC,GACV,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpC;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;;IAM5E;;;OAGG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EACzB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,IAAI;IA2BP;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAiB1D;;;OAGG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -12,7 +12,10 @@ export type PlaybackState = 'idle' | 'loading' | 'playing' | 'paused' | 'bufferi
12
12
  * - idle -> loading: initial load or post-stall reload
13
13
  * - loading -> playing | error: stream starts or fails
14
14
  * - playing -> paused | buffering | ended | error: normal playback events
15
- * - paused -> playing | loading | idle: resume or stop
15
+ * - paused -> playing | loading | idle | buffering: resume or stop
16
+ * - paused -> buffering is needed when resuming a paused (live) stream where
17
+ * the browser fires 'waiting' before 'playing' (Safari live segment edge);
18
+ * without it the FSM strands at 'paused' while the video actually plays
16
19
  * - buffering -> playing | paused | idle | error: buffer recovered, user pause, or stall
17
20
  * - buffering -> idle is needed for the stall-watchdog recovery path (kick off reload)
18
21
  * - buffering -> paused is needed for live stream support (user pauses during buffer)
@@ -1 +1 @@
1
- {"version":3,"file":"fsm.d.ts","sourceRoot":"","sources":["../../../../src/core/fsm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,OAAO,GACP,OAAO,CAAA;AAEX;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAQrF,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAEjF"}
1
+ {"version":3,"file":"fsm.d.ts","sourceRoot":"","sources":["../../../../src/core/fsm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,OAAO,GACP,OAAO,CAAA;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAQrF,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAEjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/core/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACvC,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAqE/C;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE1C,CAAA;AAoBD;;;GAGG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,MAAM,CAAC,EAAE,MAAM;IAK3B;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAM9C;;;;;OAKG;IACH,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;IAqB9D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;IAO5E;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,MAAM;CAGpB"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/core/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACvC,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAwE/C;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE1C,CAAA;AAoBD;;;GAGG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,MAAM,CAAC,EAAE,MAAM;IAK3B;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAM9C;;;;;OAKG;IACH,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;IAqB9D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;IAO5E;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,MAAM;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/core/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAU7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IAEnB,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,cAAc,CAAqB;IAE3C,IAAI,MAAM,IAAI,WAAW,CAExB;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,WAAW,GAAG,IAAI,CAElC;gBAEW,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAczC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAwFnC;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI7C;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAOrC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAQ1C;;;;;;;;OAQG;IACH,OAAO,IAAI,IAAI;IAwBf;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAyEzB"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/core/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAW7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IAEnB,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,cAAc,CAAqB;IAE3C,IAAI,MAAM,IAAI,WAAW,CAExB;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,WAAW,GAAG,IAAI,CAElC;gBAEW,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAczC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAwFnC;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI7C;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAOrC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAQ1C;;;;;;;;OAQG;IACH,OAAO,IAAI,IAAI;IAwBf;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAqFzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"player-state.d.ts","sourceRoot":"","sources":["../../../../src/core/player-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAY,WAAW,EAAE,MAAM,SAAS,CAAA;AAoG9D;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAuD1E;AAED,YAAY,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"player-state.d.ts","sourceRoot":"","sources":["../../../../src/core/player-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAY,WAAW,EAAE,MAAM,SAAS,CAAA;AAqG9D;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAyD1E;AAED,YAAY,EAAE,WAAW,EAAE,CAAA"}
@@ -54,6 +54,7 @@ export interface StateMap {
54
54
  socialsOpen: boolean;
55
55
  infoOpen: boolean;
56
56
  adPlaying: boolean;
57
+ introStreamPlaying: boolean;
57
58
  castAvailable: boolean;
58
59
  isRtl: boolean;
59
60
  isRadio: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IAEvB,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,OAAO,EAAE,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,OAAO,EAAE,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAGlB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IAGtB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG;IACnC,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC3B,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,IAAI,CAAA;CACV,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IAEvB,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,OAAO,EAAE,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,OAAO,EAAE,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAGlB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IAGtB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG;IACnC,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC3B,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,IAAI,CAAA;CACV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"eb-player.d.ts","sourceRoot":"","sources":["../../../src/eb-player.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGjD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,uEAAuE;IACvE,KAAK,IAAI,IAAI,CAAA;IACb,4FAA4F;IAC5F,OAAO,IAAI,IAAI,CAAA;IACf,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAkFD;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,eAAe,CAyO3E;AAED;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAO3B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
1
+ {"version":3,"file":"eb-player.d.ts","sourceRoot":"","sources":["../../../src/eb-player.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGjD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,uEAAuE;IACvE,KAAK,IAAI,IAAI,CAAA;IACb,4FAA4F;IAC5F,OAAO,IAAI,IAAI,CAAA;IACf,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AA0GD;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,eAAe,CA8V3E;AAED;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAO3B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
@@ -17,6 +17,14 @@ export declare abstract class BaseEngine extends EngineStateSync {
17
17
  protected signal: AbortSignal | null;
18
18
  protected bus: TypedEventBus | null;
19
19
  protected config: PlayerConfig | null;
20
+ /**
21
+ * The URL to load — set by reference.open(src) via setLoadSource().
22
+ * Takes precedence over config.src in engine init so the intro stream URL
23
+ * is loaded rather than the main stream URL (root cause of Phase 7 bug:
24
+ * reference.open(preroll) wired config but engines read config.src, which
25
+ * always points at the main stream).
26
+ */
27
+ protected loadSourceUrl: string;
20
28
  private watchdog;
21
29
  /**
22
30
  * Promise that resolves when the engine driver (hls.js/dash.js) is created
@@ -32,6 +40,14 @@ export declare abstract class BaseEngine extends EngineStateSync {
32
40
  setConfig(config: PlayerConfig): void;
33
41
  setBus(bus: TypedEventBus): void;
34
42
  setVideo(video: HTMLVideoElement): void;
43
+ /**
44
+ * Set the URL that the engine driver should load.
45
+ * Must be called by reference.open(src) BEFORE controller.setEngineSync()
46
+ * so that onAttach() → init() picks up the correct URL.
47
+ * This decouples the stream URL from config.src, which always points at the
48
+ * main stream URL (set once at start() time and never mutated).
49
+ */
50
+ setLoadSource(src: string): void;
35
51
  protected bindVideoEvents(video: HTMLVideoElement, state: PlayerState, signal: AbortSignal): void;
36
52
  protected abstract recoverFromStall(attempt: number): void;
37
53
  protected abstract onAttach(): Promise<void> | void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-engine.d.ts","sourceRoot":"","sources":["../../../../src/engines/base-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,8BAAsB,UAAW,SAAQ,eAAe;IACtD,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAO;IAC/C,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAO;IAC1C,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAO;IAC3C,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAO;IAC1C,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAO;IAE5C,OAAO,CAAC,QAAQ,CAA6B;IAE7C;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,SAAS,CAAC,kBAAkB,EAAG,MAAM,IAAI,CAAA;;IAazC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAMrD,MAAM,IAAI,IAAI;IAed,SAAS,CAAC,aAAa,IAAI,IAAI;IAmB/B,SAAS,CAAC,YAAY,IAAI,IAAI;IAa9B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIrC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAIhC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAQvC,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,WAAW,GAClB,IAAI;IAgJP,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAC1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;IAMnC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACxC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC3C,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACzC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC5C,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,GAAG,IAAI;CACrC"}
1
+ {"version":3,"file":"base-engine.d.ts","sourceRoot":"","sources":["../../../../src/engines/base-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,8BAAsB,UAAW,SAAQ,eAAe;IACtD,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAO;IAC/C,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAO;IAC1C,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAO;IAC3C,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAO;IAC1C,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAO;IAC5C;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,EAAE,MAAM,CAAK;IAEpC,OAAO,CAAC,QAAQ,CAA6B;IAE7C;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,SAAS,CAAC,kBAAkB,EAAG,MAAM,IAAI,CAAA;;IAazC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAMrD,MAAM,IAAI,IAAI;IAgBd,SAAS,CAAC,aAAa,IAAI,IAAI;IAmB/B,SAAS,CAAC,YAAY,IAAI,IAAI;IAa9B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIrC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAIhC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIvC;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQhC,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,WAAW,GAClB,IAAI;IAgJP,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAC1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;IAMnC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACxC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC3C,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACzC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC5C,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,GAAG,IAAI;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dash.d.ts","sourceRoot":"","sources":["../../../../src/engines/dash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dash.d.ts","sourceRoot":"","sources":["../../../../src/engines/dash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAOtD,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,UAAU,kBAAkB;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChF,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAA;IAC9D,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAA;IAC/D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,EAAE,CAAA;IAC5C,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,EAAE,CAAA;IACtD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC5C,qBAAqB,EAAE,MAAM,MAAM,CAAA;IACnC,IAAI,EAAE,MAAM,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,MAAM,CAAA;IACtB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAC3D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7E,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,UAAU,qBAAqB;IAC7B,IAAI;QAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;KAAE,CAAA;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,qBAAqB,CAAA;IAClC,YAAY,EAAE;QACZ,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;QAChD,yBAAyB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;QACpD,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAA;KAC1C,CAAA;CACF;AAMD,qBAAa,UAAW,SAAQ,UAAU;IAExC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,eAAe,CAAwD;IAE/E,SAAS,IAAI,OAAO,GAAG,IAAI;IAK3B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIrC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAIhC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;cAQvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAczC,SAAS,CAAC,QAAQ,IAAI,IAAI;IAsB1B,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBjD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,UAAU,IAAI,IAAI;YAYJ,IAAI;IA0GlB,OAAO,CAAC,oBAAoB;CA4D7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"hls.d.ts","sourceRoot":"","sources":["../../../../src/engines/hls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAwJrD,qBAAa,SAAU,SAAQ,UAAU;IAEvC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,WAAW,CAAO;IAE1B,OAAO,CAAC,UAAU,CAA2B;IAE7C,SAAS,IAAI,OAAO,GAAG,IAAI;IAI3B;;;;OAIG;IACH,eAAe,IAAI,eAAe,GAAG,IAAI;cAQzB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezC,SAAS,CAAC,QAAQ,IAAI,IAAI;IAkB1B,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBjD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAa/B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,OAAO,CAAC,gBAAgB,CAAQ;IAEvB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAajC,UAAU,IAAI,IAAI;IAWlB;;;OAGG;IACH,OAAO,KAAK,QAAQ,GAEnB;YAEa,IAAI;IAwPlB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,sBAAsB;CAM/B"}
1
+ {"version":3,"file":"hls.d.ts","sourceRoot":"","sources":["../../../../src/engines/hls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAwJrD,qBAAa,SAAU,SAAQ,UAAU;IAEvC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,WAAW,CAAO;IAE1B,OAAO,CAAC,UAAU,CAA2B;IAE7C,SAAS,IAAI,OAAO,GAAG,IAAI;IAI3B;;;;OAIG;IACH,eAAe,IAAI,eAAe,GAAG,IAAI;cAQzB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezC,SAAS,CAAC,QAAQ,IAAI,IAAI;IAkB1B,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBjD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAa/B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,OAAO,CAAC,gBAAgB,CAAQ;IAEvB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAajC,UAAU,IAAI,IAAI;IAWlB;;;OAGG;IACH,OAAO,KAAK,QAAQ,GAEnB;YAEa,IAAI;IA8QlB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,sBAAsB;CAM/B"}
@@ -5,7 +5,8 @@
5
5
  * automatic recovery:
6
6
  * - Fatal mediaError: calls recoverMediaError() after 1s
7
7
  * - Fatal keySystemError: unrecoverable (e.g. no HTTPS for DRM) — no retry
8
- * - Fatal other error: calls startLoad() after 1s
8
+ * - Fatal other error (intro pass): calls onFatalNetworkError() to fall through to main
9
+ * - Fatal other error (main pass): calls startLoad() after 1s (keeps retrying)
9
10
  * - Non-fatal error: re-checks after 3s; if currentTime has not advanced
10
11
  * (and Chromecast is not casting), applies the same recovery
11
12
  *
@@ -29,6 +30,17 @@ interface HlsErrorData {
29
30
  interface EngineContext {
30
31
  chromecast_casting?: boolean;
31
32
  onUnrecoverableError?: (message: string) => void;
33
+ /**
34
+ * Called once when a fatal non-unrecoverable error occurs and the caller
35
+ * wants to give up rather than loop startLoad(). Intended for the intro
36
+ * pass so the player falls through to the main stream instead of retrying
37
+ * a permanently-unreachable intro manifest forever.
38
+ *
39
+ * When this callback is set, the fatal non-media/non-unrecoverable branch
40
+ * calls it and returns immediately (no startLoad loop). When absent the
41
+ * original retry-forever behavior is preserved (main stream resilience).
42
+ */
43
+ onFatalNetworkError?: (errorKey: string) => void;
32
44
  }
33
45
  export declare function handleHlsRetry(driver: HlsDriverLike, engine?: EngineContext): void;
34
46
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"hls.d.ts","sourceRoot":"","sources":["../../../../../src/engines/retry/hls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,aAAa;IACrB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,KAAK,IAAI,CAAA;IACjF,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACrC,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,aAAa;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD;AAQD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAsElF"}
1
+ {"version":3,"file":"hls.d.ts","sourceRoot":"","sources":["../../../../../src/engines/retry/hls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,UAAU,aAAa;IACrB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,KAAK,IAAI,CAAA;IACjF,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACrC,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,aAAa;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD;AAQD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAmFlF"}
@@ -16,7 +16,7 @@ export declare class AdsManager {
16
16
  private imaDisplayContainer;
17
17
  /**
18
18
  * Initialize the IMA SDK preroll ad system.
19
- * - Skips if config.preroll is false/undefined
19
+ * - Skips if config.ad is undefined
20
20
  * - If !config.autoplay: waits for user click on video element before initializing
21
21
  * (required by browser autoplay policies to avoid muted/blocked display contexts)
22
22
  * - Loads IMA SDK, creates AdDisplayContainer, AdsLoader, and AdsRequest
@@ -26,6 +26,11 @@ export declare class AdsManager {
26
26
  /**
27
27
  * Wait for a click event on the video element.
28
28
  * Used to satisfy browser autoplay policies when autoplay is disabled.
29
+ *
30
+ * WR-05: single-shot settle flag guards against the click-vs-abort race —
31
+ * Promise resolution is already idempotent but settled tightens the
32
+ * contract by ensuring listener cleanup happens exactly once for either
33
+ * outcome. Callers still distinguish outcomes via signal.aborted.
29
34
  */
30
35
  private waitForUserGesture;
31
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ads-manager.d.ts","sourceRoot":"","sources":["../../../../src/integrations/ads-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAuEtD;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,mBAAmB,CAAqC;IAEhE;;;;;;;OAOG;IACG,IAAI,CACR,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;IAmEhB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAgB3B"}
1
+ {"version":3,"file":"ads-manager.d.ts","sourceRoot":"","sources":["../../../../src/integrations/ads-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAuEtD;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,mBAAmB,CAAqC;IAEhE;;;;;;;OAOG;IACG,IAAI,CACR,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;IA6GhB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;CAkB3B"}
@@ -3,4 +3,5 @@ export { EpgManager } from './epg-manager';
3
3
  export { P2PManager } from './p2p-manager';
4
4
  export { PlaylistManager } from './playlist-manager';
5
5
  export { AdsManager } from './ads-manager';
6
+ export { IntroStreamManager } from './intro-stream-manager';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { PlayerConfig } from '../core/config';
2
+ import type { PlayerState } from '../core/types';
3
+ import type { TypedEventBus } from '../core/event-bus';
4
+ /**
5
+ * IntroStreamManager owns the intro-stream lifecycle.
6
+ *
7
+ * - On init(), if config.preroll is set: flips state.introStreamPlaying = true and
8
+ * subscribes to:
9
+ * - the video element's native `ended` event
10
+ * - bus `preroll-skip` (from the PrerollOverlay skip button)
11
+ * - bus `error-fatal` (D-04 silent fall-through — intro must never block main)
12
+ * - Any one of those triggers calls a closure `complete()` exactly once
13
+ * (idempotent via a `completed` boolean guard), which flips
14
+ * state.introStreamPlaying = false and emits `intro-stream-complete`.
15
+ * - On abort, the video `ended` listener is removed explicitly via
16
+ * removeEventListener. Bus listeners auto-clean via the `{ signal }` option
17
+ * (see src/core/event-bus.ts on()).
18
+ *
19
+ * Scope: this manager listens and emits — it does NOT itself open the intro
20
+ * stream. The engine open() call is owned by eb-player.ts (single source of
21
+ * engine selection + DRM wiring), driven by the orchestration around this
22
+ * manager's `intro-stream-complete` event.
23
+ */
24
+ export declare class IntroStreamManager {
25
+ /**
26
+ * Initialize intro-stream lifecycle tracking.
27
+ * - Skips entirely if config.preroll is falsy (no state flip, no listeners).
28
+ * - Otherwise flips state.introStreamPlaying = true and registers the three
29
+ * completion triggers (video `ended`, bus `preroll-skip`, bus `error-fatal`).
30
+ */
31
+ init(config: PlayerConfig, state: PlayerState, bus: TypedEventBus, video: HTMLVideoElement, signal: AbortSignal): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=intro-stream-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intro-stream-manager.d.ts","sourceRoot":"","sources":["../../../../src/integrations/intro-stream-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,kBAAkB;IAC7B;;;;;OAKG;IACG,IAAI,CACR,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;CAyCjB"}
@@ -29,5 +29,14 @@ export declare class P2PManager {
29
29
  * - Registers abort cleanup
30
30
  */
31
31
  integrate(params: P2PIntegrateParams): Promise<void>;
32
+ /**
33
+ * Stop and detach the P2P SDK. Idempotent.
34
+ *
35
+ * Called on AbortSignal teardown, and eagerly on an unrecoverable engine
36
+ * error: hls.js nulls its media element on a fatal keySystemError, so a
37
+ * still-running eblib instance would keep polling `media.currentTime` and
38
+ * throw in a loop until full dispose.
39
+ */
40
+ stop(): void;
32
41
  }
33
42
  //# sourceMappingURL=p2p-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"p2p-manager.d.ts","sourceRoot":"","sources":["../../../../src/integrations/p2p-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAiClD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAiC;IAE5C;;;;;;;OAOG;IACG,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAqD3D"}
1
+ {"version":3,"file":"p2p-manager.d.ts","sourceRoot":"","sources":["../../../../src/integrations/p2p-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAiClD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAiC;IAE5C;;;;;;;OAOG;IACG,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD1D;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI;CAMb"}
@@ -3,8 +3,8 @@ import type { PlayerState } from '../../core/types';
3
3
  * AutoHideController manages the 3-second auto-hide timer for player controls.
4
4
  *
5
5
  * On any user activity (pointermove, touchstart, keyup), the timer resets to 3s.
6
- * When the timer fires, controls are hidden — but ONLY if no panel is open and
7
- * no ad is playing.
6
+ * When the timer fires, controls are hidden — but ONLY if no panel is open,
7
+ * no ad is playing, and no intro stream is playing.
8
8
  *
9
9
  * Note: Uses manual removeEventListener instead of the { signal } option in
10
10
  * addEventListener. JSDOM 28 rejects non-JSDOM AbortSignal instances in the
@@ -1 +1 @@
1
- {"version":3,"file":"auto-hide.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controllers/auto-hide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;IAyB3E,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;CAWb"}
1
+ {"version":3,"file":"auto-hide.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controllers/auto-hide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;IAyB3E,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;CAYb"}
@@ -9,7 +9,7 @@ import type { PlayerConfig } from '../../core/config';
9
9
  * ArrowRight: seek forward by config.seekOffset seconds (clamped to duration).
10
10
  * m: mutes/unmutes — only when config.supportHotKeys is true.
11
11
  *
12
- * All shortcuts are disabled during ads (state.adPlaying === true).
12
+ * All shortcuts are disabled during ads or intro streams (state.adPlaying || state.introStreamPlaying).
13
13
  *
14
14
  * The container must be focusable to receive keyboard events.
15
15
  * If container.tabIndex < 0, it is set to 0 automatically.
@@ -5,7 +5,7 @@ import { BaseComponent } from '../base-component';
5
5
  *
6
6
  * Displayed in the middle bar beside the play/pause button.
7
7
  * Renders a circular arrow icon with the seek offset number below.
8
- * Hidden during ad playback.
8
+ * Hidden during ad playback or intro-stream playback.
9
9
  */
10
10
  export declare class ForwardButton extends BaseComponent {
11
11
  protected onConnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"forward-button.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controls/forward-button.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,SAAS,CAAC,QAAQ,IAAI,cAAc;IAwBpC,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"forward-button.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controls/forward-button.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B,SAAS,CAAC,QAAQ,IAAI,cAAc;IAwBpC,OAAO,CAAC,WAAW;CAKpB"}
@@ -5,7 +5,7 @@ import { BaseComponent } from '../base-component';
5
5
  *
6
6
  * Displayed in the middle bar beside the play/pause button.
7
7
  * Renders a circular arrow icon with the seek offset number below.
8
- * Hidden during ad playback.
8
+ * Hidden during ad playback or intro-stream playback.
9
9
  */
10
10
  export declare class RewindButton extends BaseComponent {
11
11
  protected onConnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rewind-button.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controls/rewind-button.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,SAAS,CAAC,QAAQ,IAAI,cAAc;IAwBpC,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"rewind-button.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controls/rewind-button.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B,SAAS,CAAC,QAAQ,IAAI,cAAc;IAwBpC,OAAO,CAAC,WAAW;CAKpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"seekbar.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controls/seekbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAMjD;;;;;;;;;;;;;GAaG;AACH,qBAAa,OAAQ,SAAQ,aAAa;IACxC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,mBAAmB,CAA+C;IAE1E,SAAS,CAAC,SAAS,IAAI,IAAI;IAsBlB,UAAU,IAAI,IAAI;IAO3B,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IA6BzB,SAAS,CAAC,QAAQ,IAAI,cAAc;CAyFrC"}
1
+ {"version":3,"file":"seekbar.d.ts","sourceRoot":"","sources":["../../../../../src/skin/controls/seekbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAMjD;;;;;;;;;;;;;GAaG;AACH,qBAAa,OAAQ,SAAQ,aAAa;IACxC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,mBAAmB,CAA+C;IAE1E,SAAS,CAAC,SAAS,IAAI,IAAI;IAuBlB,UAAU,IAAI,IAAI;IAO3B,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IA6BzB,SAAS,CAAC,QAAQ,IAAI,cAAc;CA0FrC"}
@@ -0,0 +1,39 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import { BaseComponent } from '../base-component';
3
+ /**
4
+ * PrerollOverlay — V1 parity for the intro-stream skip + click-through UX.
5
+ *
6
+ * Two responsibilities:
7
+ * 1. Skip button + countdown (D-13 / D-14). `Number.isFinite(config.prerollSkip)`
8
+ * gates existence. While the countdown is > 0 the button shows `Skip (N)` and
9
+ * is disabled. At 0 it shows `Skip` and is clickable. Clicking emits
10
+ * `preroll-skip` on the bus.
11
+ * 2. Whole-overlay click-through (D-16, INTRO-04). Clicks landing on the
12
+ * overlay (outside the skip button) open `config.prerollLink` in a new
13
+ * tab with the security argument required by ASVS V14 / T-07-05 (blocks
14
+ * reverse tabnabbing and Referer leaks). Skip-button clicks
15
+ * `stopPropagation()` so they never reach this handler.
16
+ *
17
+ * Hidden (empty div) when `state.introStreamPlaying === false`.
18
+ *
19
+ * The skip countdown is derived from intro PLAYBACK progress
20
+ * (`state.currentTime`), not a wall-clock timer — so it only advances while the
21
+ * intro is actually playing. While the intro is paused (e.g. `autoplay:false`
22
+ * waiting for the user's gesture, or buffering) the countdown holds. Without
23
+ * this the skip control would unlock before the user ever saw the intro play.
24
+ * State subscriptions auto-clean via the `{ signal }` option — no manual timer
25
+ * teardown is required.
26
+ */
27
+ export declare class PrerollOverlay extends BaseComponent {
28
+ protected onConnect(): void;
29
+ /**
30
+ * Seconds remaining before the intro can be skipped, derived from intro
31
+ * playback position (`state.currentTime`). Infinity when prerollSkip is
32
+ * Infinity (no skip button). Clamped at 0 (never negative).
33
+ */
34
+ private remainingSkip;
35
+ protected template(): TemplateResult;
36
+ private handleSkip;
37
+ private handleOverlayClick;
38
+ }
39
+ //# sourceMappingURL=preroll-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preroll-overlay.d.ts","sourceRoot":"","sources":["../../../../../src/skin/overlays/preroll-overlay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAMrB,SAAS,CAAC,QAAQ,IAAI,cAAc;IA6BpC,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,kBAAkB;CAiB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"skin-root.d.ts","sourceRoot":"","sources":["../../../../src/skin/skin-root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAwChD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,QAAS,SAAQ,aAAa;IACzC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,iBAAiB,CAAwB;IACjD,OAAO,CAAC,eAAe,CAAsB;IAE7C;;;OAGG;IACH,eAAe,IAAI,gBAAgB,GAAG,IAAI;IAI1C;;;OAGG;IACH,eAAe,IAAI,WAAW,GAAG,IAAI;IAIrC;;;OAGG;IACH,qBAAqB,IAAI,gBAAgB,GAAG,IAAI;IAIhD,SAAS,CAAC,SAAS,IAAI,IAAI;IA6B3B,SAAS,CAAC,QAAQ,IAAI,cAAc;IAgFpC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA0G9B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAsCxB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,gBAAgB;IA4BxB,UAAU,IAAI,IAAI;CAiBnB"}
1
+ {"version":3,"file":"skin-root.d.ts","sourceRoot":"","sources":["../../../../src/skin/skin-root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAyChD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,QAAS,SAAQ,aAAa;IACzC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,iBAAiB,CAAwB;IACjD,OAAO,CAAC,eAAe,CAAsB;IAE7C;;;OAGG;IACH,eAAe,IAAI,gBAAgB,GAAG,IAAI;IAI1C;;;OAGG;IACH,eAAe,IAAI,WAAW,GAAG,IAAI;IAIrC;;;OAGG;IACH,qBAAqB,IAAI,gBAAgB,GAAG,IAAI;IAIhD,SAAS,CAAC,SAAS,IAAI,IAAI;IA6B3B,SAAS,CAAC,QAAQ,IAAI,cAAc;IAgFpC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA2G9B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAsCxB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,gBAAgB;IA4BxB,UAAU,IAAI,IAAI;CAiBnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eb-player",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "scripts": {
5
5
  "generate-demo": "pnpm generate --brand default --variant demo && cp dist/players/default/default.js test_player/src/demo.js",
6
6
  "dev-test-player": "cd test_player && pnpm run dev",
@@ -16,7 +16,8 @@
16
16
  "dev": "node --import tsx scripts/dev-server.ts",
17
17
  "generate": "node --import tsx scripts/generate.ts",
18
18
  "size-check": "tsx scripts/size-check.ts",
19
- "check-no-vue": "tsx scripts/check-no-vue.ts"
19
+ "check-no-vue": "tsx scripts/check-no-vue.ts",
20
+ "prepare": "husky"
20
21
  },
21
22
  "devDependencies": {
22
23
  "@eslint/js": "^10.0.1",
@@ -30,6 +31,7 @@
30
31
  "concurrently": "^9.2.1",
31
32
  "eslint": "^9.39.4",
32
33
  "eslint-plugin-lit": "^2.2.1",
34
+ "husky": "^9.1.7",
33
35
  "jsdom": "^28.1.0",
34
36
  "postcss": "^8.5.8",
35
37
  "rollup": "^4.59.0",