rx-player 4.2.0-dev.2024100200 → 4.2.0-dev.2024101500

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 (57) hide show
  1. package/.vscode/settings.json +9 -0
  2. package/CHANGELOG.md +13 -1
  3. package/VERSION +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  6. package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  7. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts.map +1 -1
  8. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +85 -8
  9. package/dist/commonjs/main_thread/api/debug/modules/general_info.js +1 -1
  10. package/dist/commonjs/main_thread/api/public_api.js +2 -2
  11. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  12. package/dist/commonjs/main_thread/decrypt/find_key_system.js +3 -0
  13. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +11 -1
  14. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  15. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +23 -11
  16. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +2 -1
  17. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  18. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +9 -5
  19. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts +1 -0
  20. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
  21. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +19 -16
  22. package/dist/commonjs/utils/sync_or_async.d.ts.map +1 -1
  23. package/dist/commonjs/utils/sync_or_async.js +3 -1
  24. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  25. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  26. package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  27. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts.map +1 -1
  28. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +36 -7
  29. package/dist/es2017/main_thread/api/debug/modules/general_info.js +1 -1
  30. package/dist/es2017/main_thread/api/public_api.js +2 -2
  31. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  32. package/dist/es2017/main_thread/decrypt/find_key_system.js +3 -0
  33. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +11 -1
  34. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  35. package/dist/es2017/main_thread/init/media_source_content_initializer.js +23 -11
  36. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +2 -1
  37. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  38. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +9 -5
  39. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts +1 -0
  40. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
  41. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +19 -16
  42. package/dist/es2017/utils/sync_or_async.d.ts.map +1 -1
  43. package/dist/es2017/utils/sync_or_async.js +3 -1
  44. package/dist/mpd-parser.wasm +0 -0
  45. package/dist/rx-player.js +53 -29
  46. package/dist/rx-player.min.js +17 -17
  47. package/package.json +1 -1
  48. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  49. package/src/core/segment_sinks/segment_buffers_store.ts +6 -2
  50. package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +39 -7
  51. package/src/main_thread/api/debug/modules/general_info.ts +1 -1
  52. package/src/main_thread/api/public_api.ts +2 -2
  53. package/src/main_thread/decrypt/find_key_system.ts +3 -0
  54. package/src/main_thread/init/media_source_content_initializer.ts +50 -17
  55. package/src/main_thread/init/multi_thread_content_initializer.ts +15 -7
  56. package/src/main_thread/text_displayer/native/native_text_displayer.ts +22 -18
  57. package/src/utils/sync_or_async.ts +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"segment_buffers_store.d.ts","sourceRoot":"","sources":["../../../../src/core/segment_sinks/segment_buffers_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAMvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,0EAA0E;AAC1E,KAAK,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC3E,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7E;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB;IAIzE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAmD;IAEnF;;;;OAIG;IACH,OAAO,CAAC,8BAA8B,CAAoB;IAE1D,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;gBAED,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,uBAAuB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,WAAW,EAAE;IAQtC;;;;OAIG;IACI,oBAAoB,IAAI,WAAW,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,SAAS,CACd,UAAU,EAAE,WAAW,GAErB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAC3C;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,GACzB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;IAWxB;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;;;;;OAMG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAgBxD;;;;;;;;;;;OAWG;IACI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAwD7E;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAYxD;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IAehC,sBAAsB,IAAI,mBAAmB;CASrD"}
1
+ {"version":3,"file":"segment_buffers_store.d.ts","sourceRoot":"","sources":["../../../../src/core/segment_sinks/segment_buffers_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAMvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,0EAA0E;AAC1E,KAAK,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC3E,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7E;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB;IAIzE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAI9B;IAEF;;;;OAIG;IACH,OAAO,CAAC,8BAA8B,CAAoB;IAE1D,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;gBAED,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,uBAAuB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,WAAW,EAAE;IAQtC;;;;OAIG;IACI,oBAAoB,IAAI,WAAW,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,SAAS,CACd,UAAU,EAAE,WAAW,GAErB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAC3C;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,GACzB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;IAWxB;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;;;;;OAMG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAgBxD;;;;;;;;;;;OAWG;IACI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAwD7E;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAYxD;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IAehC,sBAAsB,IAAI,mBAAmB;CASrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DRMInfos.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,2BAA2B,EAAE,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,WAAW,EAAE,mBAAmB,GAC/B,OAAO,CAAC,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAqChD"}
1
+ {"version":3,"file":"DRMInfos.d.ts","sourceRoot":"","sources":["../../../../../../src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,2BAA2B,EAAE,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,WAAW,EAAE,mBAAmB,GAC/B,OAAO,CAAC,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAgEhD"}
@@ -13,7 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { canRelyOnRequestMediaKeySystemAccess } from "../../../../compat/can_rely_on_request_media_key_system_access";
16
17
  import eme from "../../../../compat/eme";
18
+ import { DUMMY_PLAY_READY_HEADER, generatePlayReadyInitData, } from "../../../../compat/generate_init_data";
17
19
  import isNullOrUndefined from "../../../../utils/is_null_or_undefined";
18
20
  import log from "../log";
19
21
  import { ProberStatus } from "../types";
@@ -39,13 +41,40 @@ export default function probeDRMInfos(mediaConfig) {
39
41
  }
40
42
  return eme
41
43
  .requestMediaKeySystemAccess(type, [configuration])
42
- .then((keySystemAccess) => {
43
- result.compatibleConfiguration = keySystemAccess.getConfiguration();
44
- const status = [
45
- ProberStatus.Supported,
46
- result,
47
- ];
48
- return status;
44
+ .then(async (keySystemAccess) => {
45
+ if (!canRelyOnRequestMediaKeySystemAccess(type)) {
46
+ try {
47
+ const mediaKeys = await keySystemAccess.createMediaKeys();
48
+ const session = mediaKeys.createSession();
49
+ const initData = generatePlayReadyInitData(DUMMY_PLAY_READY_HEADER);
50
+ await session.generateRequest("cenc", initData);
51
+ session.close().catch(() => {
52
+ log.warn("DRM: Failed to close the dummy session");
53
+ });
54
+ result.compatibleConfiguration = keySystemAccess.getConfiguration();
55
+ const status = [
56
+ ProberStatus.Supported,
57
+ result,
58
+ ];
59
+ return status;
60
+ }
61
+ catch (err) {
62
+ log.debug("DRM: KeySystemAccess was granted but it is not usable");
63
+ const statusError = [
64
+ ProberStatus.NotSupported,
65
+ result,
66
+ ];
67
+ return statusError;
68
+ }
69
+ }
70
+ else {
71
+ result.compatibleConfiguration = keySystemAccess.getConfiguration();
72
+ const status = [
73
+ ProberStatus.Supported,
74
+ result,
75
+ ];
76
+ return status;
77
+ }
49
78
  })
50
79
  .catch(() => {
51
80
  return [ProberStatus.NotSupported, result];
@@ -55,7 +55,7 @@ export default function constructDebugGeneralInfo(instance, parentElt, cancelSig
55
55
  else {
56
56
  valuesLine1.push(["wo", "0"]);
57
57
  }
58
- const valuesLine2 = [];
58
+ const valuesLine2 = [["v", instance.version]];
59
59
  const ks = instance.getKeySystemConfiguration();
60
60
  if (ks !== null) {
61
61
  valuesLine2.push(["ks", ks.keySystem]);
@@ -143,7 +143,7 @@ class Player extends EventEmitter {
143
143
  // Workaround to support Firefox autoplay on FF 42.
144
144
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
145
145
  videoElement.preload = "auto";
146
- this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024100200";
146
+ this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024101500";
147
147
  this.log = log;
148
148
  this.state = "STOPPED";
149
149
  this.videoElement = videoElement;
@@ -2471,5 +2471,5 @@ class Player extends EventEmitter {
2471
2471
  * Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
2472
2472
  */
2473
2473
  Player._priv_currentlyUsedVideoElements = new WeakSet();
2474
- Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024100200";
2474
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024101500";
2475
2475
  export default Player;
@@ -1 +1 @@
1
- {"version":3,"file":"find_key_system.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/find_key_system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAUpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAKrE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD;;;OAGG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B,oFAAoF;IACpF,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,+BAA+B,CAAC;IACtC,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,gCAAgC,CAAC;IACvC,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,MAAM,+BAA+B,GACvC,+BAA+B,GAC/B,gCAAgC,CAAC;AAkPrC;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CACtD,oBAAoB,EAAE,2BAA2B,EACjD,gBAAgB,EAAE,2BAA2B,GAC5C,iBAAiB,CA2CnB;AACD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,+BAA+B,CAAC,CA+H1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,2BAA2B,EAAE,+FAmBvD"}
1
+ {"version":3,"file":"find_key_system.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/find_key_system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAUpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAKrE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD;;;OAGG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B,oFAAoF;IACpF,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,+BAA+B,CAAC;IACtC,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,gCAAgC,CAAC;IACvC,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,MAAM,+BAA+B,GACvC,+BAA+B,GAC/B,gCAAgC,CAAC;AAkPrC;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CACtD,oBAAoB,EAAE,2BAA2B,EACjD,gBAAgB,EAAE,2BAA2B,GAC5C,iBAAiB,CA2CnB;AACD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,+BAA+B,CAAC,CA+H1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,2BAA2B,EAAE,+FAsBvD"}
@@ -376,6 +376,9 @@ export async function testKeySystem(keyType, keySystemConfigurations) {
376
376
  const session = mediaKeys.createSession();
377
377
  const initData = generatePlayReadyInitData(DUMMY_PLAY_READY_HEADER);
378
378
  await session.generateRequest("cenc", initData);
379
+ session.close().catch(() => {
380
+ log.warn("DRM: Failed to close the dummy session");
381
+ });
379
382
  }
380
383
  catch (err) {
381
384
  log.debug("DRM: KeySystemAccess was granted but it is not usable");
@@ -35,7 +35,7 @@ import type { IInitialTimeOptions } from "./utils/get_initial_time";
35
35
  */
36
36
  export default class MediaSourceContentInitializer extends ContentInitializer {
37
37
  /** Constructor settings associated to this `MediaSourceContentInitializer`. */
38
- private _settings;
38
+ private _initSettings;
39
39
  /**
40
40
  * `TaskCanceller` allowing to abort everything that the
41
41
  * `MediaSourceContentInitializer` is doing.
@@ -91,7 +91,17 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
91
91
  */
92
92
  updateContentUrls(urls: string[] | undefined, refreshNow: boolean): void;
93
93
  dispose(): void;
94
+ /**
95
+ * Callback called when an error interrupting playback arised.
96
+ * @param {*} err
97
+ */
94
98
  private _onFatalError;
99
+ /**
100
+ * Initialize decryption mechanisms if needed and begin creating and relying
101
+ * on the initial `MediaSourceInterface` for this content.
102
+ * @param {HTMLMediaElement|null} mediaElement
103
+ * @returns {Promise.<Object>}
104
+ */
95
105
  private _initializeMediaSourceAndDecryption;
96
106
  private _onInitialMediaSourceReady;
97
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"media_source_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/media_source_content_initializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EACV,wCAAwC,EAEzC,MAAM,qBAAqB,CAAC;AAoB7B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAStE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAUpE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,kBAAkB;IAC3E,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAuB;IACxC;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IACtC,4DAA4D;IAC5D,OAAO,CAAC,gBAAgB,CAAkB;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAAsC;IAEvD,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,uBAAuB,CAYzB;IAEN;;;;OAIG;gBACS,QAAQ,EAAE,oBAAoB;IAgB1C;;;OAGG;IACI,OAAO,IAAI,IAAI;IAwBtB;;;OAGG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IAyBP;;;;;;OAMG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAIxE,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mCAAmC;YA4H7B,0BAA0B;IAwJxC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAkepC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,4BAA4B;IA0BpC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA+C5B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;CAWrC;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,eAAe,EAAE,wCAAwC,CAAC;IAC1D,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,aAAa,EAAE;QACb,+DAA+D;QAC/D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACpD,oEAAoE;QACpE,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACrD,iFAAiF;QACjF,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjD,oFAAoF;QACpF,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClD;;;WAGG;QACH,mBAAmB,EAAE,OAAO,CAAC;QAC7B,mEAAmE;QACnE,aAAa,EAAE,UAAU,GAAG,QAAQ,CAAC;KACtC,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,0CAA0C;IAC1C,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,uBAAuB,EAAE;QACvB,iEAAiE;QACjE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;;WAKG;QACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,+CAA+C;QAC/C,6BAA6B,EAAE,MAAM,CAAC;QACtC;;;WAGG;QACH,eAAe,EAAE,gBAAgB,GAAG,SAAS,CAAC;KAC/C,CAAC;IACF,6DAA6D;IAC7D,SAAS,EAAE,mBAAmB,CAAC;IAC/B,sDAAsD;IACtD,qBAAqB,EAAE;QACrB,cAAc,EAAE,OAAO,CAAC;QACxB;;;;WAIG;QACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,iEAAiE;QACjE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,sDAAsD;IACtD,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,wCAAwC;IACxC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,gDAAgD;IAChD,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,oEAAoE;IACpE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB"}
1
+ {"version":3,"file":"media_source_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/media_source_content_initializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EACV,wCAAwC,EAEzC,MAAM,qBAAqB,CAAC;AAoB7B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAStE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAUpE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,kBAAkB;IAC3E,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAuB;IAC5C;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IACtC,4DAA4D;IAC5D,OAAO,CAAC,gBAAgB,CAAkB;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAAsC;IAEvD,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,uBAAuB,CAYzB;IAEN;;;;OAIG;gBACS,QAAQ,EAAE,oBAAoB;IAgB1C;;;OAGG;IACI,OAAO,IAAI,IAAI;IAwBtB;;;OAGG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IAyBP;;;;;;OAMG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAIxE,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;YA4H7B,0BAA0B;IAwJxC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IA0dpC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,4BAA4B;IA0BpC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA+C5B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;CAWrC;AAiBD,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,eAAe,EAAE,wCAAwC,CAAC;IAC1D,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,aAAa,EAAE;QACb,+DAA+D;QAC/D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACpD,oEAAoE;QACpE,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACrD,iFAAiF;QACjF,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjD,oFAAoF;QACpF,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClD;;;WAGG;QACH,mBAAmB,EAAE,OAAO,CAAC;QAC7B,mEAAmE;QACnE,aAAa,EAAE,UAAU,GAAG,QAAQ,CAAC;KACtC,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,0CAA0C;IAC1C,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,uBAAuB,EAAE;QACvB,iEAAiE;QACjE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;;WAKG;QACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,+CAA+C;QAC/C,6BAA6B,EAAE,MAAM,CAAC;QACtC;;;WAGG;QACH,eAAe,EAAE,gBAAgB,GAAG,SAAS,CAAC;KAC/C,CAAC;IACF,6DAA6D;IAC7D,SAAS,EAAE,mBAAmB,CAAC;IAC/B,sDAAsD;IACtD,qBAAqB,EAAE;QACrB,cAAc,EAAE,OAAO,CAAC;QACxB;;;;WAIG;QACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,iEAAiE;QACjE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,sDAAsD;IACtD,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,wCAAwC;IACxC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,gDAAgD;IAChD,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,oEAAoE;IACpE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB"}
@@ -66,7 +66,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
66
66
  */
67
67
  constructor(settings) {
68
68
  super();
69
- this._settings = settings;
69
+ this._initSettings = settings;
70
70
  this._initCanceller = new TaskCanceller();
71
71
  this._manifest = null;
72
72
  this._decryptionCapabilities = { status: "uninitialized", value: null };
@@ -125,6 +125,10 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
125
125
  dispose() {
126
126
  this._initCanceller.cancel();
127
127
  }
128
+ /**
129
+ * Callback called when an error interrupting playback arised.
130
+ * @param {*} err
131
+ */
128
132
  _onFatalError(err) {
129
133
  if (this._initCanceller.isUsed()) {
130
134
  return;
@@ -132,10 +136,16 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
132
136
  this._initCanceller.cancel();
133
137
  this.trigger("error", err);
134
138
  }
139
+ /**
140
+ * Initialize decryption mechanisms if needed and begin creating and relying
141
+ * on the initial `MediaSourceInterface` for this content.
142
+ * @param {HTMLMediaElement|null} mediaElement
143
+ * @returns {Promise.<Object>}
144
+ */
135
145
  _initializeMediaSourceAndDecryption(mediaElement) {
136
146
  const initCanceller = this._initCanceller;
137
147
  return createCancellablePromise(initCanceller.signal, (resolve) => {
138
- const { keySystems } = this._settings;
148
+ const { keySystems } = this._initSettings;
139
149
  /** Initialize decryption capabilities. */
140
150
  const { statusRef: drmInitRef, contentDecryptor } = initializeContentDecryption(mediaElement, keySystems, {
141
151
  onWarning: (err) => this.trigger("warning", err),
@@ -236,7 +246,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
236
246
  }
237
247
  async _onInitialMediaSourceReady(mediaElement, initialMediaSource, playbackObserver, drmSystemId, initialMediaSourceCanceller) {
238
248
  var _a;
239
- const { adaptiveOptions, autoPlay, bufferOptions, lowLatencyMode, segmentRequestOptions, speed, startAt, textTrackOptions, transport, } = this._settings;
249
+ const { adaptiveOptions, autoPlay, bufferOptions, lowLatencyMode, segmentRequestOptions, speed, startAt, textTrackOptions, transport, } = this._initSettings;
240
250
  const initCanceller = this._initCanceller;
241
251
  assert(this._manifest !== null);
242
252
  let manifest;
@@ -336,14 +346,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
336
346
  return this._onFatalError(error);
337
347
  }
338
348
  let textDisplayerInterface = null;
339
- let textDisplayer = null;
340
- if (this._settings.textTrackOptions.textTrackMode === "html" &&
341
- features.htmlTextDisplayer !== null) {
342
- textDisplayer = new features.htmlTextDisplayer(mediaElement, this._settings.textTrackOptions.textTrackElement);
343
- }
344
- else if (features.nativeTextDisplayer !== null) {
345
- textDisplayer = new features.nativeTextDisplayer(mediaElement);
346
- }
349
+ const textDisplayer = createTextDisplayer(mediaElement, this._initSettings.textTrackOptions);
347
350
  if (textDisplayer !== null) {
348
351
  const sender = new MainThreadTextDisplayerInterface(textDisplayer);
349
352
  textDisplayerInterface = sender;
@@ -757,6 +760,15 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
757
760
  }
758
761
  }
759
762
  }
763
+ function createTextDisplayer(mediaElement, textTrackOptions) {
764
+ if (textTrackOptions.textTrackMode === "html" && features.htmlTextDisplayer !== null) {
765
+ return new features.htmlTextDisplayer(mediaElement, textTrackOptions.textTrackElement);
766
+ }
767
+ else if (features.nativeTextDisplayer !== null) {
768
+ return new features.nativeTextDisplayer(mediaElement);
769
+ }
770
+ return null;
771
+ }
760
772
  /**
761
773
  * Change the decipherability of Representations which have their key id in one
762
774
  * of the given Arrays:
@@ -51,7 +51,8 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
51
51
  */
52
52
  private _currentMediaSourceCanceller;
53
53
  /**
54
- * Stores the resolvers and the current messageId that is sent to the web worker to receive segment sink metrics.
54
+ * Stores the resolvers and the current messageId that is sent to the web worker to
55
+ * receive segment sink metrics.
55
56
  * The purpose of collecting metrics is for monitoring and debugging.
56
57
  */
57
58
  private _segmentMetrics;
@@ -1 +1 @@
1
- {"version":3,"file":"multi_thread_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/multi_thread_content_initializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi_thread_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/multi_thread_content_initializer.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
44
44
  this._currentContentInfo = null;
45
45
  this._segmentMetrics = {
46
46
  lastMessageId: 0,
47
- resolvers: {},
47
+ resolvers: new Map(),
48
48
  };
49
49
  this._queuedWorkerMessages = null;
50
50
  }
@@ -825,10 +825,9 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
825
825
  if (((_27 = this._currentContentInfo) === null || _27 === void 0 ? void 0 : _27.contentId) !== msgData.contentId) {
826
826
  return;
827
827
  }
828
- const resolveFn = this._segmentMetrics.resolvers[msgData.value.messageId];
828
+ const resolveFn = this._segmentMetrics.resolvers.get(msgData.value.messageId);
829
829
  if (resolveFn !== undefined) {
830
830
  resolveFn(msgData.value.segmentSinkMetrics);
831
- delete this._segmentMetrics.resolvers[msgData.value.messageId];
832
831
  }
833
832
  else {
834
833
  log.error("MTCI: Failed to send segment sink store update");
@@ -1171,11 +1170,16 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
1171
1170
  value: { messageId },
1172
1171
  });
1173
1172
  return new Promise((resolve, reject) => {
1174
- this._segmentMetrics.resolvers[messageId] = resolve;
1175
1173
  const rejectFn = (err) => {
1176
- delete this._segmentMetrics.resolvers[messageId];
1174
+ cancelSignal.deregister(rejectFn);
1175
+ this._segmentMetrics.resolvers.delete(messageId);
1177
1176
  return reject(err);
1178
1177
  };
1178
+ this._segmentMetrics.resolvers.set(messageId, (value) => {
1179
+ cancelSignal.deregister(rejectFn);
1180
+ this._segmentMetrics.resolvers.delete(messageId);
1181
+ resolve(value);
1182
+ });
1179
1183
  cancelSignal.register(rejectFn);
1180
1184
  });
1181
1185
  };
@@ -37,6 +37,7 @@ export default class NativeTextDisplayer implements ITextDisplayer {
37
37
  reset(): void;
38
38
  stop(): void;
39
39
  private _removeData;
40
+ private _clearTrackElement;
40
41
  }
41
42
  /** Data of chunks that should be pushed to the NativeTextDisplayer. */
42
43
  export interface INativeTextTracksBufferSegmentData {
@@ -1 +1 @@
1
- {"version":3,"file":"native_text_displayer.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/text_displayer/native/native_text_displayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,6CAA6C,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,cAAc;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,OAAO,CAAC,SAAS,CAAmB;IAEpC;;OAEG;gBACS,YAAY,EAAE,aAAa;IASvC;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE;IA8FxD;;;;;OAKG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzD;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAI7B,KAAK,IAAI,IAAI;IAuBb,IAAI,IAAI,IAAI;IAoBnB,OAAO,CAAC,WAAW;CAepB;AAED,uEAAuE;AACvE,MAAM,WAAW,kCAAkC;IACjD,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B"}
1
+ {"version":3,"file":"native_text_displayer.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/text_displayer/native/native_text_displayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,6CAA6C,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,cAAc;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,OAAO,CAAC,SAAS,CAAmB;IAEpC;;OAEG;gBACS,YAAY,EAAE,aAAa;IASvC;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE;IA8FxD;;;;;OAKG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzD;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAI7B,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAoBnB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,kBAAkB;CAoB3B;AAED,uEAAuE;AACvE,MAAM,WAAW,kCAAkC;IACjD,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B"}
@@ -129,22 +129,7 @@ export default class NativeTextDisplayer {
129
129
  reset() {
130
130
  log.debug("NTD: Aborting NativeTextDisplayer");
131
131
  this._removeData(0, Infinity);
132
- const { _trackElement, _videoElement } = this;
133
- if (_trackElement !== undefined && _videoElement.hasChildNodes()) {
134
- try {
135
- _videoElement.removeChild(_trackElement);
136
- }
137
- catch (_e) {
138
- log.warn("NTD: Can't remove track element from the video");
139
- }
140
- }
141
- // Ugly trick to work-around browser bugs by refreshing its mode
142
- const oldMode = this._track.mode;
143
- this._track.mode = "disabled";
144
- this._track.mode = oldMode;
145
- if (this._trackElement !== undefined) {
146
- this._trackElement.innerHTML = "";
147
- }
132
+ this._clearTrackElement();
148
133
  }
149
134
  stop() {
150
135
  log.debug("NTD: Aborting NativeTextDisplayer");
@@ -178,6 +163,24 @@ export default class NativeTextDisplayer {
178
163
  }
179
164
  this._buffered.remove(start, end);
180
165
  }
166
+ _clearTrackElement() {
167
+ const { _trackElement, _videoElement } = this;
168
+ if (_trackElement !== undefined && _videoElement.hasChildNodes()) {
169
+ try {
170
+ _videoElement.removeChild(_trackElement);
171
+ }
172
+ catch (_e) {
173
+ log.warn("NTD: Can't remove track element from the video");
174
+ }
175
+ }
176
+ // Ugly trick to work-around browser bugs by refreshing its mode
177
+ const oldMode = this._track.mode;
178
+ this._track.mode = "disabled";
179
+ this._track.mode = oldMode;
180
+ if (this._trackElement !== undefined) {
181
+ this._trackElement.innerHTML = "";
182
+ }
183
+ }
181
184
  }
182
185
  /*
183
186
  * The following ugly code is here to provide a compile-time check that an
@@ -1 +1 @@
1
- {"version":3,"file":"sync_or_async.d.ts","sourceRoot":"","sources":["../../../src/utils/sync_or_async.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC;;;OAGG;IACH,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB;;;;OAIG;IACH,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,QAAA,MAAM,WAAW;IACf;;;;OAIG;eACQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAS3C;;;;OAIG;gBACS,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAYtD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"sync_or_async.d.ts","sourceRoot":"","sources":["../../../src/utils/sync_or_async.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC;;;OAGG;IACH,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB;;;;OAIG;IACH,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,QAAA,MAAM,WAAW;IACf;;;;OAIG;eACQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAS3C;;;;OAIG;gBACS,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;CActD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -39,7 +39,9 @@ const SyncOrAsync = {
39
39
  ret = resolved;
40
40
  }, noop);
41
41
  return {
42
- syncValue: ret,
42
+ get syncValue() {
43
+ return ret;
44
+ },
43
45
  getValueAsAsync() {
44
46
  return val;
45
47
  },
Binary file
package/dist/rx-player.js CHANGED
@@ -8762,6 +8762,9 @@
8762
8762
  const session = mediaKeys.createSession();
8763
8763
  const initData = generatePlayReadyInitData(DUMMY_PLAY_READY_HEADER);
8764
8764
  await session.generateRequest("cenc", initData);
8765
+ session.close().catch(() => {
8766
+ log_default.warn("DRM: Failed to close the dummy session");
8767
+ });
8765
8768
  } catch (err) {
8766
8769
  log_default.debug("DRM: KeySystemAccess was granted but it is not usable");
8767
8770
  throw err;
@@ -18714,7 +18717,9 @@
18714
18717
  ret = resolved;
18715
18718
  }, noop_default);
18716
18719
  return {
18717
- syncValue: ret,
18720
+ get syncValue() {
18721
+ return ret;
18722
+ },
18718
18723
  getValueAsAsync() {
18719
18724
  return val;
18720
18725
  }
@@ -20751,7 +20756,7 @@
20751
20756
  */
20752
20757
  constructor(settings) {
20753
20758
  super();
20754
- this._settings = settings;
20759
+ this._initSettings = settings;
20755
20760
  this._initCanceller = new TaskCanceller();
20756
20761
  this._manifest = null;
20757
20762
  this._decryptionCapabilities = { status: "uninitialized", value: null };
@@ -20826,6 +20831,10 @@
20826
20831
  dispose() {
20827
20832
  this._initCanceller.cancel();
20828
20833
  }
20834
+ /**
20835
+ * Callback called when an error interrupting playback arised.
20836
+ * @param {*} err
20837
+ */
20829
20838
  _onFatalError(err) {
20830
20839
  if (this._initCanceller.isUsed()) {
20831
20840
  return;
@@ -20833,10 +20842,16 @@
20833
20842
  this._initCanceller.cancel();
20834
20843
  this.trigger("error", err);
20835
20844
  }
20845
+ /**
20846
+ * Initialize decryption mechanisms if needed and begin creating and relying
20847
+ * on the initial `MediaSourceInterface` for this content.
20848
+ * @param {HTMLMediaElement|null} mediaElement
20849
+ * @returns {Promise.<Object>}
20850
+ */
20836
20851
  _initializeMediaSourceAndDecryption(mediaElement) {
20837
20852
  const initCanceller = this._initCanceller;
20838
20853
  return createCancellablePromise(initCanceller.signal, (resolve) => {
20839
- const { keySystems } = this._settings;
20854
+ const { keySystems } = this._initSettings;
20840
20855
  const { statusRef: drmInitRef, contentDecryptor } = initializeContentDecryption(
20841
20856
  mediaElement,
20842
20857
  keySystems,
@@ -20953,7 +20968,7 @@
20953
20968
  startAt,
20954
20969
  textTrackOptions,
20955
20970
  transport
20956
- } = this._settings;
20971
+ } = this._initSettings;
20957
20972
  const initCanceller = this._initCanceller;
20958
20973
  assert(this._manifest !== null);
20959
20974
  let manifest;
@@ -21082,15 +21097,10 @@
21082
21097
  return this._onFatalError(error);
21083
21098
  }
21084
21099
  let textDisplayerInterface = null;
21085
- let textDisplayer = null;
21086
- if (this._settings.textTrackOptions.textTrackMode === "html" && features_default.htmlTextDisplayer !== null) {
21087
- textDisplayer = new features_default.htmlTextDisplayer(
21088
- mediaElement,
21089
- this._settings.textTrackOptions.textTrackElement
21090
- );
21091
- } else if (features_default.nativeTextDisplayer !== null) {
21092
- textDisplayer = new features_default.nativeTextDisplayer(mediaElement);
21093
- }
21100
+ const textDisplayer = createTextDisplayer(
21101
+ mediaElement,
21102
+ this._initSettings.textTrackOptions
21103
+ );
21094
21104
  if (textDisplayer !== null) {
21095
21105
  const sender = new MainThreadTextDisplayerInterface(textDisplayer);
21096
21106
  textDisplayerInterface = sender;
@@ -21529,6 +21539,17 @@
21529
21539
  }
21530
21540
  }
21531
21541
  };
21542
+ function createTextDisplayer(mediaElement, textTrackOptions) {
21543
+ if (textTrackOptions.textTrackMode === "html" && features_default.htmlTextDisplayer !== null) {
21544
+ return new features_default.htmlTextDisplayer(
21545
+ mediaElement,
21546
+ textTrackOptions.textTrackElement
21547
+ );
21548
+ } else if (features_default.nativeTextDisplayer !== null) {
21549
+ return new features_default.nativeTextDisplayer(mediaElement);
21550
+ }
21551
+ return null;
21552
+ }
21532
21553
  function updateKeyIdsDecipherabilityOnManifest(manifest, whitelistedKeyIds, blacklistedKeyIds, delistedKeyIds) {
21533
21554
  manifest.updateRepresentationsDeciperability((ctx) => {
21534
21555
  const { representation } = ctx;
@@ -31875,20 +31896,7 @@
31875
31896
  reset() {
31876
31897
  log_default.debug("NTD: Aborting NativeTextDisplayer");
31877
31898
  this._removeData(0, Infinity);
31878
- const { _trackElement, _videoElement } = this;
31879
- if (_trackElement !== void 0 && _videoElement.hasChildNodes()) {
31880
- try {
31881
- _videoElement.removeChild(_trackElement);
31882
- } catch (_e) {
31883
- log_default.warn("NTD: Can't remove track element from the video");
31884
- }
31885
- }
31886
- const oldMode = this._track.mode;
31887
- this._track.mode = "disabled";
31888
- this._track.mode = oldMode;
31889
- if (this._trackElement !== void 0) {
31890
- this._trackElement.innerHTML = "";
31891
- }
31899
+ this._clearTrackElement();
31892
31900
  }
31893
31901
  stop() {
31894
31902
  log_default.debug("NTD: Aborting NativeTextDisplayer");
@@ -31921,6 +31929,22 @@
31921
31929
  }
31922
31930
  this._buffered.remove(start, end);
31923
31931
  }
31932
+ _clearTrackElement() {
31933
+ const { _trackElement, _videoElement } = this;
31934
+ if (_trackElement !== void 0 && _videoElement.hasChildNodes()) {
31935
+ try {
31936
+ _videoElement.removeChild(_trackElement);
31937
+ } catch (_e) {
31938
+ log_default.warn("NTD: Can't remove track element from the video");
31939
+ }
31940
+ }
31941
+ const oldMode = this._track.mode;
31942
+ this._track.mode = "disabled";
31943
+ this._track.mode = oldMode;
31944
+ if (this._trackElement !== void 0) {
31945
+ this._trackElement.innerHTML = "";
31946
+ }
31947
+ }
31924
31948
  };
31925
31949
  if (define_ENVIRONMENT_default.CURRENT_ENV === define_ENVIRONMENT_default.DEV) {
31926
31950
  let _checkType = function(input) {
@@ -36911,7 +36935,7 @@ ${event}`
36911
36935
  } = parseConstructorOptions(options);
36912
36936
  videoElement.preload = "auto";
36913
36937
  this.version = /* PLAYER_VERSION */
36914
- "4.2.0-dev.2024100200";
36938
+ "4.2.0-dev.2024101500";
36915
36939
  this.log = log_default;
36916
36940
  this.state = "STOPPED";
36917
36941
  this.videoElement = videoElement;
@@ -39452,7 +39476,7 @@ ${event}`
39452
39476
  _Player._priv_currentlyUsedVideoElements = /* @__PURE__ */ new WeakSet();
39453
39477
  var Player = _Player;
39454
39478
  Player.version = /* PLAYER_VERSION */
39455
- "4.2.0-dev.2024100200";
39479
+ "4.2.0-dev.2024101500";
39456
39480
  var public_api_default = Player;
39457
39481
 
39458
39482
  // src/main_thread/api/index.ts