rx-player 4.2.0-dev.2024090500 → 4.2.0-dev.2024090600

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/CHANGELOG.md +5 -2
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  5. package/dist/commonjs/compat/browser_detection.d.ts +3 -1
  6. package/dist/commonjs/compat/browser_detection.d.ts.map +1 -1
  7. package/dist/commonjs/compat/browser_detection.js +7 -1
  8. package/dist/commonjs/compat/can_reuse_media_keys.d.ts +4 -0
  9. package/dist/commonjs/compat/can_reuse_media_keys.d.ts.map +1 -1
  10. package/dist/commonjs/compat/can_reuse_media_keys.js +5 -1
  11. package/dist/commonjs/core/main/worker/worker_main.js +4 -0
  12. package/dist/commonjs/main_thread/api/public_api.js +2 -2
  13. package/dist/commonjs/utils/logger.d.ts.map +1 -1
  14. package/dist/commonjs/utils/logger.js +6 -7
  15. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  16. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  17. package/dist/es2017/compat/browser_detection.d.ts +3 -1
  18. package/dist/es2017/compat/browser_detection.d.ts.map +1 -1
  19. package/dist/es2017/compat/browser_detection.js +10 -1
  20. package/dist/es2017/compat/can_reuse_media_keys.d.ts +4 -0
  21. package/dist/es2017/compat/can_reuse_media_keys.d.ts.map +1 -1
  22. package/dist/es2017/compat/can_reuse_media_keys.js +6 -2
  23. package/dist/es2017/core/main/worker/worker_main.js +4 -0
  24. package/dist/es2017/main_thread/api/public_api.js +2 -2
  25. package/dist/es2017/utils/logger.d.ts.map +1 -1
  26. package/dist/es2017/utils/logger.js +6 -7
  27. package/dist/rx-player.js +12 -10
  28. package/dist/rx-player.min.js +18 -18
  29. package/dist/worker.js +5 -5
  30. package/package.json +5 -12
  31. package/src/README.md +7 -7
  32. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  33. package/src/compat/__tests__/can_reuse_media_keys.test.ts +24 -1
  34. package/src/compat/browser_detection.ts +13 -4
  35. package/src/compat/can_reuse_media_keys.ts +6 -2
  36. package/src/core/main/worker/worker_main.ts +4 -0
  37. package/src/main_thread/api/public_api.ts +2 -2
  38. package/src/utils/logger.ts +6 -7
@@ -45,5 +45,7 @@ declare let isPlayStation4: boolean;
45
45
  declare let isPlayStation5: boolean;
46
46
  /** `true` for the Xbox game consoles. */
47
47
  declare let isXbox: boolean;
48
- export { isEdgeChromium, isIE11, isIEOrEdge, isFirefox, isPanasonic, isPhilipsNetTv, isPlayStation4, isPlayStation5, isXbox, isSafariDesktop, isSafariMobile, isSamsungBrowser, isTizen, isWebOs, isWebOs2021, isWebOs2022, };
48
+ /** `true` for specific A1 STB: KSTB 40xx from Kaon Media. */
49
+ declare let isA1KStb40xx: boolean;
50
+ export { isEdgeChromium, isFirefox, isIE11, isIEOrEdge, isSafariDesktop, isSafariMobile, isA1KStb40xx, isPanasonic, isPhilipsNetTv, isPlayStation4, isPlayStation5, isSamsungBrowser, isTizen, isWebOs, isWebOs2021, isWebOs2022, isXbox, };
49
51
  //# sourceMappingURL=browser_detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser_detection.d.ts","sourceRoot":"","sources":["../../../src/compat/browser_detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,8CAA8C;AAC9C,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,qCAAqC;AACrC,QAAA,IAAI,MAAM,SAAQ,CAAC;AAEnB,4EAA4E;AAC5E,QAAA,IAAI,UAAU,SAAQ,CAAC;AAEvB,wCAAwC;AACxC,QAAA,IAAI,SAAS,SAAQ,CAAC;AAEtB,sEAAsE;AACtE,QAAA,IAAI,eAAe,SAAQ,CAAC;AAE5B,0DAA0D;AAC1D,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,wCAAwC;AACxC,QAAA,IAAI,gBAAgB,SAAQ,CAAC;AAE7B,kEAAkE;AAClE,QAAA,IAAI,OAAO,SAAQ,CAAC;AAEpB,6DAA6D;AAC7D,QAAA,IAAI,OAAO,SAAQ,CAAC;AAEpB,kDAAkD;AAClD,QAAA,IAAI,WAAW,SAAQ,CAAC;AAExB,kDAAkD;AAClD,QAAA,IAAI,WAAW,SAAQ,CAAC;AAExB,oCAAoC;AACpC,QAAA,IAAI,WAAW,SAAQ,CAAC;AAExB,uDAAuD;AACvD,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,iDAAiD;AACjD,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,iDAAiD;AACjD,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,yCAAyC;AACzC,QAAA,IAAI,MAAM,SAAQ,CAAC;AA6FnB,OAAO,EACL,cAAc,EACd,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"browser_detection.d.ts","sourceRoot":"","sources":["../../../src/compat/browser_detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,8CAA8C;AAC9C,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,qCAAqC;AACrC,QAAA,IAAI,MAAM,SAAQ,CAAC;AAEnB,4EAA4E;AAC5E,QAAA,IAAI,UAAU,SAAQ,CAAC;AAEvB,wCAAwC;AACxC,QAAA,IAAI,SAAS,SAAQ,CAAC;AAEtB,sEAAsE;AACtE,QAAA,IAAI,eAAe,SAAQ,CAAC;AAE5B,0DAA0D;AAC1D,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,wCAAwC;AACxC,QAAA,IAAI,gBAAgB,SAAQ,CAAC;AAE7B,kEAAkE;AAClE,QAAA,IAAI,OAAO,SAAQ,CAAC;AAEpB,6DAA6D;AAC7D,QAAA,IAAI,OAAO,SAAQ,CAAC;AAEpB,kDAAkD;AAClD,QAAA,IAAI,WAAW,SAAQ,CAAC;AAExB,kDAAkD;AAClD,QAAA,IAAI,WAAW,SAAQ,CAAC;AAExB,oCAAoC;AACpC,QAAA,IAAI,WAAW,SAAQ,CAAC;AAExB,uDAAuD;AACvD,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,iDAAiD;AACjD,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,iDAAiD;AACjD,QAAA,IAAI,cAAc,SAAQ,CAAC;AAE3B,yCAAyC;AACzC,QAAA,IAAI,MAAM,SAAQ,CAAC;AAEnB,6DAA6D;AAC7D,QAAA,IAAI,YAAY,SAAQ,CAAC;AA+FzB,OAAO,EAEL,cAAc,EACd,SAAS,EACT,MAAM,EACN,UAAU,EACV,eAAe,EACf,cAAc,EAGd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,MAAM,GACP,CAAC"}
@@ -47,6 +47,8 @@ let isPlayStation4 = false;
47
47
  let isPlayStation5 = false;
48
48
  /** `true` for the Xbox game consoles. */
49
49
  let isXbox = false;
50
+ /** `true` for specific A1 STB: KSTB 40xx from Kaon Media. */
51
+ let isA1KStb40xx = false;
50
52
  (function findCurrentBrowser() {
51
53
  var _a, _b, _c;
52
54
  if (isNode) {
@@ -129,5 +131,12 @@ let isXbox = false;
129
131
  else if (navigator.userAgent.indexOf("Xbox") !== -1) {
130
132
  isXbox = true;
131
133
  }
134
+ else if (navigator.userAgent.indexOf("Model/a1-kstb40xx")) {
135
+ isA1KStb40xx = true;
136
+ }
132
137
  })();
133
- export { isEdgeChromium, isIE11, isIEOrEdge, isFirefox, isPanasonic, isPhilipsNetTv, isPlayStation4, isPlayStation5, isXbox, isSafariDesktop, isSafariMobile, isSamsungBrowser, isTizen, isWebOs, isWebOs2021, isWebOs2022, };
138
+ export {
139
+ // browsers
140
+ isEdgeChromium, isFirefox, isIE11, isIEOrEdge, isSafariDesktop, isSafariMobile,
141
+ // specific devices
142
+ isA1KStb40xx, isPanasonic, isPhilipsNetTv, isPlayStation4, isPlayStation5, isSamsungBrowser, isTizen, isWebOs, isWebOs2021, isWebOs2022, isXbox, };
@@ -9,6 +9,10 @@
9
9
  * HTMLMediaElement.
10
10
  * - (2024-08-23): Seen on Philips 2024 and 2023 in:
11
11
  * https://github.com/canalplus/rx-player/issues/1464
12
+ * - (2024-09-04): Another case seen on an "A1" set-top box model made by
13
+ * Kaonmedia we will call the KSTB40xx.
14
+ * It may share the problematic with other devices, but we have only seen
15
+ * the problem on this one for now.
12
16
  *
13
17
  * @returns {boolean}
14
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"can_reuse_media_keys.d.ts","sourceRoot":"","sources":["../../../src/compat/can_reuse_media_keys.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,IAAI,OAAO,CAEnD"}
1
+ {"version":3,"file":"can_reuse_media_keys.d.ts","sourceRoot":"","sources":["../../../src/compat/can_reuse_media_keys.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,IAAI,OAAO,CAEnD"}
@@ -1,4 +1,4 @@
1
- import { isPanasonic, isPhilipsNetTv, isWebOs } from "./browser_detection";
1
+ import { isA1KStb40xx, isPanasonic, isPhilipsNetTv, isWebOs } from "./browser_detection";
2
2
  /**
3
3
  * Returns `true` if a `MediaKeys` instance (the `Encrypted Media Extension`
4
4
  * concept) can be reused between contents.
@@ -10,9 +10,13 @@ import { isPanasonic, isPhilipsNetTv, isWebOs } from "./browser_detection";
10
10
  * HTMLMediaElement.
11
11
  * - (2024-08-23): Seen on Philips 2024 and 2023 in:
12
12
  * https://github.com/canalplus/rx-player/issues/1464
13
+ * - (2024-09-04): Another case seen on an "A1" set-top box model made by
14
+ * Kaonmedia we will call the KSTB40xx.
15
+ * It may share the problematic with other devices, but we have only seen
16
+ * the problem on this one for now.
13
17
  *
14
18
  * @returns {boolean}
15
19
  */
16
20
  export default function canReuseMediaKeys() {
17
- return !isWebOs && !isPhilipsNetTv && !isPanasonic;
21
+ return !isWebOs && !isPhilipsNetTv && !isPanasonic && !isA1KStb40xx;
18
22
  }
@@ -670,6 +670,10 @@ function loadOrReloadPreparedContent(val, contentPreparer, playbackObservationRe
670
670
  onCodecSwitch: val.onCodecSwitch,
671
671
  }, contentPreparer, playbackObservationRef, parentCancelSignal);
672
672
  }, (err) => {
673
+ if (TaskCanceller.isCancellationError(err)) {
674
+ log.info("WP: A reloading operation was cancelled");
675
+ return;
676
+ }
673
677
  sendMessage({
674
678
  type: "error" /* WorkerMessageType.Error */,
675
679
  contentId,
@@ -142,7 +142,7 @@ class Player extends EventEmitter {
142
142
  // Workaround to support Firefox autoplay on FF 42.
143
143
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
144
144
  videoElement.preload = "auto";
145
- this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090500";
145
+ this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090600";
146
146
  this.log = log;
147
147
  this.state = "STOPPED";
148
148
  this.videoElement = videoElement;
@@ -2456,5 +2456,5 @@ class Player extends EventEmitter {
2456
2456
  * Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
2457
2457
  */
2458
2458
  Player._priv_currentlyUsedVideoElements = new WeakSet();
2459
- Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090500";
2459
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090600";
2460
2460
  export default Player;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAI3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C,KAAK,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9E,KAAK,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;AAIzD;;;GAGG;AACH,UAAU,aAAa;IACrB,gBAAgB,EAAE;QAChB,KAAK,EAAE,YAAY,CAAC;QACpB,MAAM,EAAE,UAAU,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY,CAAC,aAAa,CAAC;IACtD,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IACzB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;;IAavD;;;;;;;;;OASG;IACI,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,CACN,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,KAC9D,IAAI,GACR,IAAI;IA8EP;;;OAGG;IACI,QAAQ,IAAI,YAAY;IAI/B;;;OAGG;IACI,SAAS,IAAI,UAAU;IAI9B;;;;;OAKG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO;CAGjD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAI3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C,KAAK,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9E,KAAK,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;AAIzD;;;GAGG;AACH,UAAU,aAAa;IACrB,gBAAgB,EAAE;QAChB,KAAK,EAAE,YAAY,CAAC;QACpB,MAAM,EAAE,UAAU,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY,CAAC,aAAa,CAAC;IACtD,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IACzB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;;IAavD;;;;;;;;;OASG;IACI,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,CACN,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,KAC9D,IAAI,GACR,IAAI;IA6EP;;;OAGG;IACI,QAAQ,IAAI,YAAY;IAI/B;;;OAGG;IACI,SAAS,IAAI,UAAU;IAI9B;;;;;OAKG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO;CAGjD"}
@@ -99,18 +99,17 @@ export default class Logger extends EventEmitter {
99
99
  /* eslint-enable no-invalid-this */
100
100
  }
101
101
  else {
102
- const produceLogFn = (logLevel, namespace) => {
102
+ const produceLogFn = (logLevel) => {
103
103
  return level >= this._levels[logLevel]
104
104
  ? (...args) => {
105
- const now = getMonotonicTimeStamp();
106
- return logFn(logLevel, [now, namespace, ...args]);
105
+ return logFn(logLevel, args);
107
106
  }
108
107
  : noop;
109
108
  };
110
- this.error = produceLogFn("ERROR", "error");
111
- this.warn = produceLogFn("WARNING", "warn");
112
- this.info = produceLogFn("INFO", "info");
113
- this.debug = produceLogFn("DEBUG", "log");
109
+ this.error = produceLogFn("ERROR");
110
+ this.warn = produceLogFn("WARNING");
111
+ this.info = produceLogFn("INFO");
112
+ this.debug = produceLogFn("DEBUG");
114
113
  }
115
114
  this.trigger("onLogLevelChange", {
116
115
  level: this._currentLevel,
package/dist/rx-player.js CHANGED
@@ -486,16 +486,15 @@
486
486
  this.info = level >= this._levels.INFO ? generateLogFn("info", console.info.bind(console)) : noop_default;
487
487
  this.debug = level >= this._levels.DEBUG ? generateLogFn("log", console.log.bind(console)) : noop_default;
488
488
  } else {
489
- const produceLogFn = (logLevel, namespace) => {
489
+ const produceLogFn = (logLevel) => {
490
490
  return level >= this._levels[logLevel] ? (...args) => {
491
- const now = monotonic_timestamp_default();
492
- return logFn(logLevel, [now, namespace, ...args]);
491
+ return logFn(logLevel, args);
493
492
  } : noop_default;
494
493
  };
495
- this.error = produceLogFn("ERROR", "error");
496
- this.warn = produceLogFn("WARNING", "warn");
497
- this.info = produceLogFn("INFO", "info");
498
- this.debug = produceLogFn("DEBUG", "log");
494
+ this.error = produceLogFn("ERROR");
495
+ this.warn = produceLogFn("WARNING");
496
+ this.info = produceLogFn("INFO");
497
+ this.debug = produceLogFn("DEBUG");
499
498
  }
500
499
  this.trigger("onLogLevelChange", {
501
500
  level: this._currentLevel,
@@ -578,6 +577,7 @@
578
577
  var isPlayStation4 = false;
579
578
  var isPlayStation5 = false;
580
579
  var isXbox = false;
580
+ var isA1KStb40xx = false;
581
581
  (function findCurrentBrowser() {
582
582
  var _a, _b, _c;
583
583
  if (is_node_default) {
@@ -629,6 +629,8 @@
629
629
  isPanasonic = true;
630
630
  } else if (navigator.userAgent.indexOf("Xbox") !== -1) {
631
631
  isXbox = true;
632
+ } else if (navigator.userAgent.indexOf("Model/a1-kstb40xx")) {
633
+ isA1KStb40xx = true;
632
634
  }
633
635
  })();
634
636
 
@@ -8144,7 +8146,7 @@
8144
8146
 
8145
8147
  // src/compat/can_reuse_media_keys.ts
8146
8148
  function canReuseMediaKeys() {
8147
- return !isWebOs && !isPhilipsNetTv && !isPanasonic;
8149
+ return !isWebOs && !isPhilipsNetTv && !isPanasonic && !isA1KStb40xx;
8148
8150
  }
8149
8151
 
8150
8152
  // src/compat/can_rely_on_request_media_key_system_access.ts
@@ -36776,7 +36778,7 @@ ${event}`
36776
36778
  } = parseConstructorOptions(options);
36777
36779
  videoElement.preload = "auto";
36778
36780
  this.version = /* PLAYER_VERSION */
36779
- "4.2.0-dev.2024090500";
36781
+ "4.2.0-dev.2024090600";
36780
36782
  this.log = log_default;
36781
36783
  this.state = "STOPPED";
36782
36784
  this.videoElement = videoElement;
@@ -39302,7 +39304,7 @@ ${event}`
39302
39304
  _Player._priv_currentlyUsedVideoElements = /* @__PURE__ */ new WeakSet();
39303
39305
  var Player = _Player;
39304
39306
  Player.version = /* PLAYER_VERSION */
39305
- "4.2.0-dev.2024090500";
39307
+ "4.2.0-dev.2024090600";
39306
39308
  var public_api_default = Player;
39307
39309
 
39308
39310
  // src/main_thread/api/index.ts