rx-player 4.3.1-dev.2025041002 → 4.4.0-dev.2025041400

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 (77) hide show
  1. package/CHANGELOG.md +10 -5
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  6. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  7. package/dist/commonjs/errors/encrypted_media_error.d.ts +17 -2
  8. package/dist/commonjs/errors/encrypted_media_error.d.ts.map +1 -1
  9. package/dist/commonjs/errors/encrypted_media_error.js +5 -3
  10. package/dist/commonjs/main_thread/api/public_api.js +2 -2
  11. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  12. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +7 -3
  13. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  14. package/dist/commonjs/main_thread/decrypt/find_key_system.js +5 -1
  15. package/dist/commonjs/main_thread/decrypt/get_media_keys.js +5 -1
  16. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts +4 -3
  17. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts.map +1 -1
  18. package/dist/commonjs/main_thread/decrypt/session_events_listener.js +37 -12
  19. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts +9 -3
  20. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts.map +1 -1
  21. package/dist/commonjs/main_thread/decrypt/set_server_certificate.js +19 -5
  22. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts +4 -3
  23. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts.map +1 -1
  24. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.js +24 -7
  25. package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.js +5 -1
  26. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  27. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +13 -10
  28. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.d.ts.map +1 -1
  29. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.js +5 -1
  30. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  31. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  32. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  33. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  34. package/dist/es2017/errors/encrypted_media_error.d.ts +17 -2
  35. package/dist/es2017/errors/encrypted_media_error.d.ts.map +1 -1
  36. package/dist/es2017/errors/encrypted_media_error.js +5 -3
  37. package/dist/es2017/main_thread/api/public_api.js +2 -2
  38. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  39. package/dist/es2017/main_thread/decrypt/content_decryptor.js +7 -3
  40. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  41. package/dist/es2017/main_thread/decrypt/find_key_system.js +5 -1
  42. package/dist/es2017/main_thread/decrypt/get_media_keys.js +5 -1
  43. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts +4 -3
  44. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts.map +1 -1
  45. package/dist/es2017/main_thread/decrypt/session_events_listener.js +35 -12
  46. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts +9 -3
  47. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts.map +1 -1
  48. package/dist/es2017/main_thread/decrypt/set_server_certificate.js +19 -5
  49. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts +4 -3
  50. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts.map +1 -1
  51. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.js +24 -7
  52. package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.js +5 -1
  53. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  54. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +13 -10
  55. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.d.ts.map +1 -1
  56. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.js +5 -1
  57. package/dist/mpd-parser.wasm +0 -0
  58. package/dist/rx-player.js +120 -35
  59. package/dist/rx-player.min.js +3 -3
  60. package/dist/worker.js +1 -1
  61. package/package.json +1 -1
  62. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  63. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  64. package/src/errors/__tests__/encrypted_media_error.test.ts +16 -3
  65. package/src/errors/__tests__/is_known_error.test.ts +9 -1
  66. package/src/errors/encrypted_media_error.ts +41 -9
  67. package/src/main_thread/api/public_api.ts +2 -2
  68. package/src/main_thread/decrypt/content_decryptor.ts +11 -2
  69. package/src/main_thread/decrypt/find_key_system.ts +5 -0
  70. package/src/main_thread/decrypt/get_media_keys.ts +5 -1
  71. package/src/main_thread/decrypt/session_events_listener.ts +49 -10
  72. package/src/main_thread/decrypt/set_server_certificate.ts +27 -3
  73. package/src/main_thread/decrypt/utils/check_key_statuses.ts +31 -8
  74. package/src/main_thread/decrypt/utils/media_keys_attacher.ts +5 -0
  75. package/src/main_thread/init/multi_thread_content_initializer.ts +13 -8
  76. package/src/main_thread/init/utils/initialize_content_decryption.ts +5 -1
  77. package/.vscode/settings.json +0 -1
@@ -25,7 +25,9 @@ export default class EncryptedMediaError extends Error {
25
25
  readonly name: "EncryptedMediaError";
26
26
  readonly type: "ENCRYPTED_MEDIA_ERROR";
27
27
  readonly code: IEncryptedMediaErrorCode;
28
- readonly keyStatuses?: IEncryptedMediaErrorKeyStatusObject[];
28
+ readonly keyStatuses: IEncryptedMediaErrorKeyStatusObject[] | undefined;
29
+ readonly keySystemConfiguration: MediaKeySystemConfiguration | undefined;
30
+ readonly keySystem: string | undefined;
29
31
  fatal: boolean;
30
32
  private _originalMessage;
31
33
  /**
@@ -34,8 +36,19 @@ export default class EncryptedMediaError extends Error {
34
36
  */
35
37
  constructor(code: "KEY_STATUS_CHANGE_ERROR", reason: string, supplementaryInfos: {
36
38
  keyStatuses: IEncryptedMediaErrorKeyStatusObject[];
39
+ keySystemConfiguration: MediaKeySystemConfiguration;
40
+ keySystem: string;
41
+ });
42
+ constructor(code: Omit<IEncryptedMediaErrorCode, "KEY_STATUS_CHANGE_ERROR" | "INCOMPATIBLE_KEYSYSTEMS" | "INVALID_KEY_SYSTEM" | "MEDIA_IS_ENCRYPTED_ERROR">, reason: string, supplementaryInfos: {
43
+ keyStatuses: undefined;
44
+ keySystemConfiguration: MediaKeySystemConfiguration;
45
+ keySystem: string;
46
+ });
47
+ constructor(code: "INCOMPATIBLE_KEYSYSTEMS" | "INVALID_KEY_SYSTEM" | "MEDIA_IS_ENCRYPTED_ERROR", reason: string, supplementaryInfos: {
48
+ keyStatuses: undefined;
49
+ keySystemConfiguration: undefined;
50
+ keySystem: undefined;
37
51
  });
38
- constructor(code: Omit<IEncryptedMediaErrorCode, "KEY_STATUS_CHANGE_ERROR">, reason: string);
39
52
  /**
40
53
  * If that error has to be communicated through another thread, this method
41
54
  * allows to obtain its main defining properties in an Object so the Error can
@@ -52,5 +65,7 @@ export interface ISerializedEncryptedMediaError {
52
65
  keyStatus: MediaKeyStatus;
53
66
  keyId: ArrayBuffer;
54
67
  }> | undefined;
68
+ keySystemConfiguration: MediaKeySystemConfiguration | undefined;
69
+ keySystem: string | undefined;
55
70
  }
56
71
  //# sourceMappingURL=encrypted_media_error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encrypted_media_error.d.ts","sourceRoot":"","sources":["../../../src/errors/encrypted_media_error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK;IACpD,SAAgB,IAAI,EAAE,qBAAqB,CAAC;IAC5C,SAAgB,IAAI,EAAE,uBAAuB,CAAC;IAC9C,SAAgB,IAAI,EAAE,wBAAwB,CAAC;IAC/C,SAAgB,WAAW,CAAC,EAAE,mCAAmC,EAAE,CAAC;IAC7D,KAAK,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;OAGG;gBAED,IAAI,EAAE,yBAAyB,EAC/B,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE;QAAE,WAAW,EAAE,mCAAmC,EAAE,CAAA;KAAE;gBAG1E,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,EAC/D,MAAM,EAAE,MAAM;IAyBhB;;;;;OAKG;IACI,SAAS,IAAI,8BAA8B;CAQnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EACP,KAAK,CAAC;QACJ,SAAS,EAAE,cAAc,CAAC;QAC1B,KAAK,EAAE,WAAW,CAAC;KACpB,CAAC,GACF,SAAS,CAAC;CACf"}
1
+ {"version":3,"file":"encrypted_media_error.d.ts","sourceRoot":"","sources":["../../../src/errors/encrypted_media_error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK;IACpD,SAAgB,IAAI,EAAE,qBAAqB,CAAC;IAC5C,SAAgB,IAAI,EAAE,uBAAuB,CAAC;IAC9C,SAAgB,IAAI,EAAE,wBAAwB,CAAC;IAC/C,SAAgB,WAAW,EAAE,mCAAmC,EAAE,GAAG,SAAS,CAAC;IAC/E,SAAgB,sBAAsB,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAChF,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;OAGG;gBAED,IAAI,EAAE,yBAAyB,EAC/B,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE;QAClB,WAAW,EAAE,mCAAmC,EAAE,CAAC;QACnD,sBAAsB,EAAE,2BAA2B,CAAC;QACpD,SAAS,EAAE,MAAM,CAAC;KACnB;gBAGD,IAAI,EAAE,IAAI,CACR,wBAAwB,EACtB,yBAAyB,GACzB,yBAAyB,GACzB,oBAAoB,GACpB,0BAA0B,CAC7B,EACD,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE;QAClB,WAAW,EAAE,SAAS,CAAC;QACvB,sBAAsB,EAAE,2BAA2B,CAAC;QACpD,SAAS,EAAE,MAAM,CAAC;KACnB;gBAGD,IAAI,EAAE,yBAAyB,GAAG,oBAAoB,GAAG,0BAA0B,EACnF,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE;QAClB,WAAW,EAAE,SAAS,CAAC;QACvB,sBAAsB,EAAE,SAAS,CAAC;QAClC,SAAS,EAAE,SAAS,CAAC;KACtB;IA2BH;;;;;OAKG;IACI,SAAS,IAAI,8BAA8B;CAUnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EACP,KAAK,CAAC;QACJ,SAAS,EAAE,cAAc,CAAC;QAC1B,KAAK,EAAE,WAAW,CAAC;KACpB,CAAC,GACF,SAAS,CAAC;IACd,sBAAsB,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAChE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B"}
@@ -49,9 +49,9 @@ var EncryptedMediaError = /** @class */ (function (_super) {
49
49
  _this.code = code;
50
50
  _this._originalMessage = reason;
51
51
  _this.fatal = false;
52
- if (typeof (supplementaryInfos === null || supplementaryInfos === void 0 ? void 0 : supplementaryInfos.keyStatuses) === "string") {
53
- _this.keyStatuses = supplementaryInfos.keyStatuses;
54
- }
52
+ _this.keyStatuses = supplementaryInfos.keyStatuses;
53
+ _this.keySystemConfiguration = supplementaryInfos.keySystemConfiguration;
54
+ _this.keySystem = supplementaryInfos.keySystem;
55
55
  return _this;
56
56
  }
57
57
  /**
@@ -66,6 +66,8 @@ var EncryptedMediaError = /** @class */ (function (_super) {
66
66
  code: this.code,
67
67
  reason: this._originalMessage,
68
68
  keyStatuses: this.keyStatuses,
69
+ keySystemConfiguration: this.keySystemConfiguration,
70
+ keySystem: this.keySystem,
69
71
  };
70
72
  };
71
73
  return EncryptedMediaError;
@@ -162,7 +162,7 @@ var Player = /** @class */ (function (_super) {
162
162
  // Workaround to support Firefox autoplay on FF 42.
163
163
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
164
164
  videoElement.preload = "auto";
165
- _this.version = /* PLAYER_VERSION */ "4.3.1-dev.2025041002";
165
+ _this.version = /* PLAYER_VERSION */ "4.4.0-dev.2025041400";
166
166
  _this.log = log_1.default;
167
167
  _this.state = "STOPPED";
168
168
  _this.videoElement = videoElement;
@@ -2771,5 +2771,5 @@ var Player = /** @class */ (function (_super) {
2771
2771
  Player._priv_currentlyUsedVideoElements = new WeakSet();
2772
2772
  return Player;
2773
2773
  }(event_emitter_1.default));
2774
- Player.version = /* PLAYER_VERSION */ "4.3.1-dev.2025041002";
2774
+ Player.version = /* PLAYER_VERSION */ "4.4.0-dev.2025041400";
2775
2775
  exports.default = Player;
@@ -1 +1 @@
1
- {"version":3,"file":"content_decryptor.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/content_decryptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,0CAA0C,CAAC;AAMlD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAcrD,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA8B,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAU5E,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAG/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAChF;;;;;;;;;;;;OAYG;IACI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACI,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,CAA6B;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAgB;IAElC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAoB;IAE1C;;OAEG;IACH,OAAO,CAAC,4BAA4B,CAAoB;IAExD;;;;;OAKG;WACW,UAAU,IAAI,OAAO;IAInC;;;;;;;;;;;;;OAaG;gBACS,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE;IAsEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IAqFrB;;;;;;OAMG;IACI,OAAO;IAYd;;;;;;;;;;OAUG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAgB7E;;;;;;;;OAQG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,GAAG,IAAI;IAqBtE;;;;;;;;OAQG;YACW,0BAA0B;IAkTxC,OAAO,CAAC,8BAA8B;IAyItC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAmChC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAOlB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAQ7B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,UAAU,EAAE,EAC5B,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,EAAE,CAId;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,EAAE,CAUd;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,wBAAwB,EAC5C,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,EAAE,CAcd"}
1
+ {"version":3,"file":"content_decryptor.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/content_decryptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,0CAA0C,CAAC;AAMlD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAcrD,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA8B,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAU5E,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAG/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAChF;;;;;;;;;;;;OAYG;IACI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACI,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,CAA6B;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAgB;IAElC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAoB;IAE1C;;OAEG;IACH,OAAO,CAAC,4BAA4B,CAAoB;IAExD;;;;;OAKG;WACW,UAAU,IAAI,OAAO;IAInC;;;;;;;;;;;;;OAaG;gBACS,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE;IAsEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IAyFrB;;;;;;OAMG;IACI,OAAO;IAYd;;;;;;;;;;OAUG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAgB7E;;;;;;;;OAQG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,GAAG,IAAI;IAqBtE;;;;;;;;OAQG;YACW,0BAA0B;IAuTxC,OAAO,CAAC,8BAA8B;IAyItC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAmChC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAOlB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAQ7B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,UAAU,EAAE,EAC5B,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,EAAE,CAId;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,EAAE,CAUd;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,wBAAwB,EAC5C,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,EAAE,CAcd"}
@@ -300,7 +300,7 @@ var ContentDecryptor = /** @class */ (function (_super) {
300
300
  this._stateData.isMediaKeysAttached = 2 /* MediaKeyAttachmentStatus.Attached */;
301
301
  serverCertificate = options.serverCertificate;
302
302
  if (!!(0, is_null_or_undefined_1.default)(serverCertificate)) return [3 /*break*/, 2];
303
- return [4 /*yield*/, (0, set_server_certificate_1.default)(mediaKeys, serverCertificate)];
303
+ return [4 /*yield*/, (0, set_server_certificate_1.default)(mediaKeys, serverCertificate, mediaKeySystemAccess)];
304
304
  case 1:
305
305
  resSsc = _a.sent();
306
306
  if (resSsc.type === "error") {
@@ -558,7 +558,7 @@ var ContentDecryptor = /** @class */ (function (_super) {
558
558
  this._currentSessions.push(sessionInfo);
559
559
  _b = sessionRes.value, mediaKeySession = _b.mediaKeySession, sessionType = _b.sessionType;
560
560
  isSessionPersisted = false;
561
- (0, session_events_listener_1.default)(mediaKeySession, options, mediaKeySystemAccess.keySystem, {
561
+ (0, session_events_listener_1.default)(mediaKeySession, options, mediaKeySystemAccess, {
562
562
  onKeyUpdate: function (value) {
563
563
  var linkedKeys = getKeyIdsLinkedToSession(initializationData, sessionInfo.record, options.singleLicensePer, sessionInfo.source === "created-session" /* MediaKeySessionLoadingType.Created */, value.whitelistedKeyIds, value.blacklistedKeyIds);
564
564
  sessionInfo.record.associateKeyIds(linkedKeys.whitelisted);
@@ -654,7 +654,11 @@ var ContentDecryptor = /** @class */ (function (_super) {
654
654
  }
655
655
  return [2 /*return*/, Promise.resolve()];
656
656
  }
657
- throw new errors_1.EncryptedMediaError("KEY_GENERATE_REQUEST_ERROR", error_1 instanceof Error ? error_1.toString() : "Unknown error");
657
+ throw new errors_1.EncryptedMediaError("KEY_GENERATE_REQUEST_ERROR", error_1 instanceof Error ? error_1.toString() : "Unknown error", {
658
+ keyStatuses: undefined,
659
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
660
+ keySystem: mediaKeySystemAccess.keySystem,
661
+ });
658
662
  case 5: return [2 /*return*/, Promise.resolve()];
659
663
  }
660
664
  });
@@ -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,EACV,aAAa,EACb,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAWlD,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,qBAAqB,CAAC;IAC5C;;;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;AA4QrC;;;;;;;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,CAwH1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,2BAA2B,EAAE,gGAsBvD"}
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,EACV,aAAa,EACb,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAWlD,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,qBAAqB,CAAC;IAC5C;;;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;AA4QrC;;;;;;;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,CA6H1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,2BAA2B,EAAE,gGAsBvD"}
@@ -454,7 +454,11 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
454
454
  if (index >= keySystemsType.length) {
455
455
  throw new errors_1.EncryptedMediaError("INCOMPATIBLE_KEYSYSTEMS", "No key system compatible with your wanted " +
456
456
  "configuration has been found in the current " +
457
- "browser.");
457
+ "browser.", {
458
+ keyStatuses: undefined,
459
+ keySystemConfiguration: undefined,
460
+ keySystem: undefined,
461
+ });
458
462
  }
459
463
  if ((0, is_null_or_undefined_1.default)(eme_1.default.requestMediaKeySystemAccess)) {
460
464
  throw new Error("requestMediaKeySystemAccess is not implemented in your browser.");
@@ -165,7 +165,11 @@ function createMediaKeys(mediaKeySystemAccess) {
165
165
  case 3:
166
166
  error_1 = _a.sent();
167
167
  message = error_1 instanceof Error ? error_1.message : "Unknown error when creating MediaKeys.";
168
- throw new errors_1.EncryptedMediaError("CREATE_MEDIA_KEYS_ERROR", message);
168
+ throw new errors_1.EncryptedMediaError("CREATE_MEDIA_KEYS_ERROR", message, {
169
+ keyStatuses: undefined,
170
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
171
+ keySystem: mediaKeySystemAccess.keySystem,
172
+ });
169
173
  case 4: return [2 /*return*/];
170
174
  }
171
175
  });
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IMediaKeySession } from "../../compat/browser_compatibility_types";
16
+ import type { IMediaKeySession, IMediaKeySystemAccess } from "../../compat/browser_compatibility_types";
17
17
  import type { IKeySystemOption, IPlayerError } from "../../public_types";
18
18
  import { CancellationSignal } from "../../utils/task_canceller";
19
19
  /**
@@ -21,11 +21,12 @@ import { CancellationSignal } from "../../utils/task_canceller";
21
21
  * depending on the configuration given.
22
22
  * @param {MediaKeySession} session - The MediaKeySession concerned.
23
23
  * @param {Object} keySystemOptions - The key system options.
24
- * @param {String} keySystem - The configuration keySystem used for deciphering
24
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
25
+ * `MediaKeySystemAccess` that produced the linked `MediaKeys` instance.
25
26
  * @param {Object} callbacks
26
27
  * @param {Object} cancelSignal
27
28
  */
28
- export default function SessionEventsListener(session: IMediaKeySession, keySystemOptions: IKeySystemOption, keySystem: string, callbacks: ISessionEventListenerCallbacks, cancelSignal: CancellationSignal): void;
29
+ export default function SessionEventsListener(session: IMediaKeySession, keySystemOptions: IKeySystemOption, mediaKeySystemAccess: IMediaKeySystemAccess, callbacks: ISessionEventListenerCallbacks, cancelSignal: CancellationSignal): void;
29
30
  export interface ISessionEventListenerCallbacks {
30
31
  /**
31
32
  * Some key ids related to the current MediaKeySession have updated their
@@ -1 +1 @@
1
- {"version":3,"file":"session_events_listener.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/session_events_listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAQjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG/E;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,8BAA8B,EACzC,YAAY,EAAE,kBAAkB,GAC/B,IAAI,CAmMN;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAEvC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,KAAK,IAAI,CAAC;CAC3D;AAiDD,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;OAaG;IACH,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAUhC,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IACzC,YAAY,EAAE,YAAY,CAAC;gBACtB,YAAY,EAAE,YAAY;CAMvC;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAM5B"}
1
+ {"version":3,"file":"session_events_listener.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/session_events_listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAQlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG/E;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,qBAAqB,EAC3C,SAAS,EAAE,8BAA8B,EACzC,YAAY,EAAE,kBAAkB,GAC/B,IAAI,CA8MN;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAEvC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,KAAK,IAAI,CAAC;CAC3D;AAyED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;OAaG;IACH,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAUhC,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IACzC,YAAY,EAAE,YAAY,CAAC;gBACtB,YAAY,EAAE,YAAY;CAMvC;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAM5B"}
@@ -81,11 +81,12 @@ var check_key_statuses_1 = require("./utils/check_key_statuses");
81
81
  * depending on the configuration given.
82
82
  * @param {MediaKeySession} session - The MediaKeySession concerned.
83
83
  * @param {Object} keySystemOptions - The key system options.
84
- * @param {String} keySystem - The configuration keySystem used for deciphering
84
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
85
+ * `MediaKeySystemAccess` that produced the linked `MediaKeys` instance.
85
86
  * @param {Object} callbacks
86
87
  * @param {Object} cancelSignal
87
88
  */
88
- function SessionEventsListener(session, keySystemOptions, keySystem, callbacks, cancelSignal) {
89
+ function SessionEventsListener(session, keySystemOptions, mediaKeySystemAccess, callbacks, cancelSignal) {
89
90
  var _this = this;
90
91
  log_1.default.info("DRM: Binding session events", session.sessionId);
91
92
  var _a = keySystemOptions.getLicenseConfig, getLicenseConfig = _a === void 0 ? {} : _a;
@@ -106,7 +107,11 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
106
107
  }
107
108
  (0, event_listeners_1.onKeyError)(session, function (evt) {
108
109
  manualCanceller.cancel();
109
- callbacks.onError(new errors_1.EncryptedMediaError("KEY_ERROR", evt.type));
110
+ callbacks.onError(new errors_1.EncryptedMediaError("KEY_ERROR", evt.type, {
111
+ keyStatuses: undefined,
112
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
113
+ keySystem: mediaKeySystemAccess.keySystem,
114
+ }));
110
115
  }, manualCanceller.signal);
111
116
  (0, event_listeners_1.onKeyStatusesChange)(session, function () {
112
117
  log_1.default.info("DRM: keystatuseschange event received", session.sessionId);
@@ -143,7 +148,7 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
143
148
  return [3 /*break*/, 4];
144
149
  case 1:
145
150
  _a.trys.push([1, 3, , 4]);
146
- return [4 /*yield*/, updateSessionWithMessage(session, licenseObject)];
151
+ return [4 /*yield*/, updateSessionWithMessage(session, licenseObject, mediaKeySystemAccess)];
147
152
  case 2:
148
153
  _a.sent();
149
154
  return [3 /*break*/, 4];
@@ -160,7 +165,7 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
160
165
  return;
161
166
  }
162
167
  manualCanceller.cancel();
163
- var formattedError = formatGetLicenseError(err);
168
+ var formattedError = formatGetLicenseError(err, mediaKeySystemAccess);
164
169
  if (!(0, is_null_or_undefined_1.default)(err)) {
165
170
  var fallbackOnLastTry = err.fallbackOnLastTry;
166
171
  if (fallbackOnLastTry === true) {
@@ -186,7 +191,7 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
186
191
  if (manualCanceller.isUsed() || session.keyStatuses.size === 0) {
187
192
  return;
188
193
  }
189
- var _a = (0, check_key_statuses_1.default)(session, keySystemOptions, keySystem), warning = _a.warning, blacklistedKeyIds = _a.blacklistedKeyIds, whitelistedKeyIds = _a.whitelistedKeyIds;
194
+ var _a = (0, check_key_statuses_1.default)(session, keySystemOptions, mediaKeySystemAccess), warning = _a.warning, blacklistedKeyIds = _a.blacklistedKeyIds, whitelistedKeyIds = _a.whitelistedKeyIds;
190
195
  if (warning !== undefined) {
191
196
  callbacks.onWarning(warning);
192
197
  if (manualCanceller.isUsed()) {
@@ -244,7 +249,9 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
244
249
  (0, is_null_or_undefined_1.default)(error) ||
245
250
  error.noRetry !== true;
246
251
  },
247
- onRetry: function (error) { return callbacks.onWarning(formatGetLicenseError(error)); },
252
+ onRetry: function (error) {
253
+ return callbacks.onWarning(formatGetLicenseError(error, mediaKeySystemAccess));
254
+ },
248
255
  };
249
256
  }
250
257
  }
@@ -252,13 +259,24 @@ function SessionEventsListener(session, keySystemOptions, keySystem, callbacks,
252
259
  * Format an error returned by a `getLicense` call to a proper form as defined
253
260
  * by the RxPlayer's API.
254
261
  * @param {*} error
262
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
263
+ * `MediaKeySystemAccess` that produced the linked `MediaKeys` instance.
264
+ * This parameter is mainly useful for error generation.
255
265
  * @returns {Error}
256
266
  */
257
- function formatGetLicenseError(error) {
267
+ function formatGetLicenseError(error, mediaKeySystemAccess) {
258
268
  if (error instanceof GetLicenseTimeoutError) {
259
- return new errors_1.EncryptedMediaError("KEY_LOAD_TIMEOUT", "The license server took too much time to " + "respond.");
269
+ return new errors_1.EncryptedMediaError("KEY_LOAD_TIMEOUT", "The license server took too much time to " + "respond.", {
270
+ keyStatuses: undefined,
271
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
272
+ keySystem: mediaKeySystemAccess.keySystem,
273
+ });
260
274
  }
261
- var err = new errors_1.EncryptedMediaError("KEY_LOAD_ERROR", "An error occured when calling `getLicense`.");
275
+ var err = new errors_1.EncryptedMediaError("KEY_LOAD_ERROR", "An error occured when calling `getLicense`.", {
276
+ keyStatuses: undefined,
277
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
278
+ keySystem: mediaKeySystemAccess.keySystem,
279
+ });
262
280
  if (!(0, is_null_or_undefined_1.default)(error) &&
263
281
  (0, is_non_empty_string_1.default)(error.message)) {
264
282
  err.message = error.message;
@@ -269,9 +287,12 @@ function formatGetLicenseError(error) {
269
287
  * Call MediaKeySession.update with the given `message`, if defined.
270
288
  * @param {MediaKeySession} session
271
289
  * @param {ArrayBuffer|TypedArray|null} message
290
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
291
+ * `MediaKeySystemAccess` that produced the linked `MediaKeys` instance.
292
+ * This parameter is mainly useful for error generation.
272
293
  * @returns {Promise}
273
294
  */
274
- function updateSessionWithMessage(session, message) {
295
+ function updateSessionWithMessage(session, message, mediaKeySystemAccess) {
275
296
  return __awaiter(this, void 0, void 0, function () {
276
297
  var error_1, reason;
277
298
  return __generator(this, function (_a) {
@@ -288,7 +309,11 @@ function updateSessionWithMessage(session, message) {
288
309
  case 3:
289
310
  error_1 = _a.sent();
290
311
  reason = error_1 instanceof Error ? error_1.toString() : "`session.update` failed";
291
- throw new errors_1.EncryptedMediaError("KEY_UPDATE_ERROR", reason);
312
+ throw new errors_1.EncryptedMediaError("KEY_UPDATE_ERROR", reason, {
313
+ keyStatuses: undefined,
314
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
315
+ keySystem: mediaKeySystemAccess.keySystem,
316
+ });
292
317
  case 4:
293
318
  log_1.default.info("DRM: MediaKeySession update succeeded.");
294
319
  return [2 /*return*/];
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IMediaKeys } from "../../compat/browser_compatibility_types";
16
+ import type { IMediaKeys, IMediaKeySystemAccess } from "../../compat/browser_compatibility_types";
17
17
  import type { IPlayerError } from "../../public_types";
18
18
  /**
19
19
  * Call the setServerCertificate API with the given certificate.
@@ -27,17 +27,23 @@ import type { IPlayerError } from "../../public_types";
27
27
  *
28
28
  * @param {MediaKeys} mediaKeys
29
29
  * @param {ArrayBuffer} serverCertificate
30
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
31
+ * `MediaKeySystemAccess` that produced the `MediaKeys` instance provided.
32
+ * This parameter is mainly useful for error generation.
30
33
  * @returns {Promise}
31
34
  */
32
- declare function setServerCertificate(mediaKeys: IMediaKeys, serverCertificate: BufferSource): Promise<unknown>;
35
+ declare function setServerCertificate(mediaKeys: IMediaKeys, serverCertificate: BufferSource, mediaKeySystemAccess: IMediaKeySystemAccess): Promise<unknown>;
33
36
  /**
34
37
  * Call the setCertificate API. If it fails just emit the error as warning
35
38
  * and complete.
36
39
  * @param {MediaKeys} mediaKeys
37
40
  * @param {ArrayBuffer} serverCertificate
41
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
42
+ * `MediaKeySystemAccess` that produced the `MediaKeys` instance provided.
43
+ * This parameter is mainly useful for error generation.
38
44
  * @returns {Promise.<Object>}
39
45
  */
40
- export default function trySettingServerCertificate(mediaKeys: IMediaKeys, serverCertificate: BufferSource): Promise<{
46
+ export default function trySettingServerCertificate(mediaKeys: IMediaKeys, serverCertificate: BufferSource, mediaKeySystemAccess: IMediaKeySystemAccess): Promise<{
41
47
  type: "success";
42
48
  value: unknown;
43
49
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"set_server_certificate.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/set_server_certificate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;;;;GAaG;AACH,iBAAe,oBAAoB,CACjC,SAAS,EAAE,UAAU,EACrB,iBAAiB,EAAE,YAAY,GAC9B,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED;;;;;;GAMG;AACH,wBAA8B,2BAA2B,CACvD,SAAS,EAAE,UAAU,EACrB,iBAAiB,EAAE,YAAY,GAC9B,OAAO,CACN;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CACzC,CAgCA;AAED,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"set_server_certificate.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/set_server_certificate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAe,oBAAoB,CACjC,SAAS,EAAE,UAAU,EACrB,iBAAiB,EAAE,YAAY,EAC/B,oBAAoB,EAAE,qBAAqB,GAC1C,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;;;;;;;GASG;AACH,wBAA8B,2BAA2B,CACvD,SAAS,EAAE,UAAU,EACrB,iBAAiB,EAAE,YAAY,EAC/B,oBAAoB,EAAE,qBAAqB,GAC1C,OAAO,CACN;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CACzC,CAyCA;AAED,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,CAAC"}
@@ -69,9 +69,12 @@ var server_certificate_store_1 = require("./utils/server_certificate_store");
69
69
  *
70
70
  * @param {MediaKeys} mediaKeys
71
71
  * @param {ArrayBuffer} serverCertificate
72
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
73
+ * `MediaKeySystemAccess` that produced the `MediaKeys` instance provided.
74
+ * This parameter is mainly useful for error generation.
72
75
  * @returns {Promise}
73
76
  */
74
- function setServerCertificate(mediaKeys, serverCertificate) {
77
+ function setServerCertificate(mediaKeys, serverCertificate, mediaKeySystemAccess) {
75
78
  return __awaiter(this, void 0, void 0, function () {
76
79
  var res, error_1, reason;
77
80
  return __generator(this, function (_a) {
@@ -89,7 +92,11 @@ function setServerCertificate(mediaKeys, serverCertificate) {
89
92
  error_1 = _a.sent();
90
93
  log_1.default.warn("DRM: mediaKeys.setServerCertificate returned an error", error_1 instanceof Error ? error_1 : "");
91
94
  reason = error_1 instanceof Error ? error_1.toString() : "`setServerCertificate` error";
92
- throw new errors_1.EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", reason);
95
+ throw new errors_1.EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", reason, {
96
+ keyStatuses: undefined,
97
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
98
+ keySystem: mediaKeySystemAccess.keySystem,
99
+ });
93
100
  case 3: return [2 /*return*/];
94
101
  }
95
102
  });
@@ -100,9 +107,12 @@ function setServerCertificate(mediaKeys, serverCertificate) {
100
107
  * and complete.
101
108
  * @param {MediaKeys} mediaKeys
102
109
  * @param {ArrayBuffer} serverCertificate
110
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
111
+ * `MediaKeySystemAccess` that produced the `MediaKeys` instance provided.
112
+ * This parameter is mainly useful for error generation.
103
113
  * @returns {Promise.<Object>}
104
114
  */
105
- function trySettingServerCertificate(mediaKeys, serverCertificate) {
115
+ function trySettingServerCertificate(mediaKeys, serverCertificate, mediaKeySystemAccess) {
106
116
  return __awaiter(this, void 0, void 0, function () {
107
117
  var result, error_2, formattedErr;
108
118
  return __generator(this, function (_a) {
@@ -126,7 +136,7 @@ function trySettingServerCertificate(mediaKeys, serverCertificate) {
126
136
  _a.label = 1;
127
137
  case 1:
128
138
  _a.trys.push([1, 3, , 4]);
129
- return [4 /*yield*/, setServerCertificate(mediaKeys, serverCertificate)];
139
+ return [4 /*yield*/, setServerCertificate(mediaKeys, serverCertificate, mediaKeySystemAccess)];
130
140
  case 2:
131
141
  result = _a.sent();
132
142
  server_certificate_store_1.default.set(mediaKeys, serverCertificate);
@@ -135,7 +145,11 @@ function trySettingServerCertificate(mediaKeys, serverCertificate) {
135
145
  error_2 = _a.sent();
136
146
  formattedErr = (0, errors_1.isKnownError)(error_2)
137
147
  ? error_2
138
- : new errors_1.EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", "Unknown error when setting the server certificate.");
148
+ : new errors_1.EncryptedMediaError("LICENSE_SERVER_CERTIFICATE_ERROR", "Unknown error when setting the server certificate.", {
149
+ keyStatuses: undefined,
150
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
151
+ keySystem: mediaKeySystemAccess.keySystem,
152
+ });
139
153
  return [2 /*return*/, { type: "error", value: formattedErr }];
140
154
  case 4: return [2 /*return*/];
141
155
  }
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IMediaKeySession } from "../../../compat/browser_compatibility_types";
16
+ import type { IMediaKeySession, IMediaKeySystemAccess } from "../../../compat/browser_compatibility_types";
17
17
  import { EncryptedMediaError } from "../../../errors";
18
18
  import type { IKeySystemOption, IPlayerError } from "../../../public_types";
19
19
  /**
@@ -42,10 +42,11 @@ export type IKeyStatusesCheckingOptions = Pick<IKeySystemOption, "onKeyOutputRes
42
42
  * @param {MediaKeySession} session - The MediaKeySession from which the keys
43
43
  * will be checked.
44
44
  * @param {Object} options
45
- * @param {String} keySystem - The configuration keySystem used for deciphering
45
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
46
+ * `MediaKeySystemAccess` that produced the linked `MediaKeys` instance.
46
47
  * @returns {Object} - Warnings to send, whitelisted and blacklisted key ids.
47
48
  */
48
- export default function checkKeyStatuses(session: IMediaKeySession, options: IKeyStatusesCheckingOptions, keySystem: string): {
49
+ export default function checkKeyStatuses(session: IMediaKeySession, options: IKeyStatusesCheckingOptions, mediaKeySystemAccess: IMediaKeySystemAccess): {
49
50
  warning: EncryptedMediaError | undefined;
50
51
  blacklistedKeyIds: Uint8Array[];
51
52
  whitelistedKeyIds: Uint8Array[];
@@ -1 +1 @@
1
- {"version":3,"file":"check_key_statuses.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/decrypt/utils/check_key_statuses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAEV,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAI/B;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAC5C,MAAM,EAAE,YAAY,CAAC;IAE5B;;;;OAIG;gBACS,MAAM,EAAE,YAAY;CAMjC;AAQD,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,gBAAgB,EAChB,uBAAuB,GAAG,oBAAoB,GAAG,iBAAiB,CACnE,CAAC;AAYF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,2BAA2B,EACpC,SAAS,EAAE,MAAM,GAChB;IACD,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACzC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAChC,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC,CAyIA"}
1
+ {"version":3,"file":"check_key_statuses.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/decrypt/utils/check_key_statuses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAEV,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAI/B;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAC5C,MAAM,EAAE,YAAY,CAAC;IAE5B;;;;OAIG;gBACS,MAAM,EAAE,YAAY;CAMjC;AAQD,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,gBAAgB,EAChB,uBAAuB,GAAG,oBAAoB,GAAG,iBAAiB,CACnE,CAAC;AAYF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,2BAA2B,EACpC,oBAAoB,EAAE,qBAAqB,GAC1C;IACD,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACzC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAChC,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC,CA4JA"}
@@ -100,10 +100,11 @@ var KEY_STATUSES = {
100
100
  * @param {MediaKeySession} session - The MediaKeySession from which the keys
101
101
  * will be checked.
102
102
  * @param {Object} options
103
- * @param {String} keySystem - The configuration keySystem used for deciphering
103
+ * @param {MediaKeySystemAccess} mediaKeySystemAccess - The
104
+ * `MediaKeySystemAccess` that produced the linked `MediaKeys` instance.
104
105
  * @returns {Object} - Warnings to send, whitelisted and blacklisted key ids.
105
106
  */
106
- function checkKeyStatuses(session, options, keySystem) {
107
+ function checkKeyStatuses(session, options, mediaKeySystemAccess) {
107
108
  var onKeyInternalError = options.onKeyInternalError, onKeyOutputRestricted = options.onKeyOutputRestricted, onKeyExpiration = options.onKeyExpiration;
108
109
  var blacklistedKeyIds = [];
109
110
  var whitelistedKeyIds = [];
@@ -114,14 +115,18 @@ function checkKeyStatuses(session, options, keySystem) {
114
115
  var _a = __read((function () {
115
116
  return (typeof _arg1 === "string" ? [_arg1, _arg2] : [_arg2, _arg1]);
116
117
  })(), 2), keyStatus = _a[0], keyStatusKeyId = _a[1];
117
- var keyId = (0, get_uuid_kid_from_keystatus_kid_1.default)(keySystem, new Uint8Array(keyStatusKeyId));
118
+ var keyId = (0, get_uuid_kid_from_keystatus_kid_1.default)(mediaKeySystemAccess.keySystem, new Uint8Array(keyStatusKeyId));
118
119
  var keyStatusObj = { keyId: keyId.buffer, keyStatus: keyStatus };
119
120
  if (log_1.default.hasLevel("DEBUG")) {
120
121
  log_1.default.debug("DRM: key status update (".concat((0, string_parsing_1.bytesToHex)(keyId), "): ").concat(keyStatus));
121
122
  }
122
123
  switch (keyStatus) {
123
124
  case KEY_STATUSES.EXPIRED: {
124
- var error = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "A decryption key expired (".concat((0, string_parsing_1.bytesToHex)(keyId), ")"), { keyStatuses: __spreadArray([keyStatusObj], __read(badKeyStatuses), false) });
125
+ var error = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "A decryption key expired (".concat((0, string_parsing_1.bytesToHex)(keyId), ")"), {
126
+ keyStatuses: __spreadArray([keyStatusObj], __read(badKeyStatuses), false),
127
+ keySystem: mediaKeySystemAccess.keySystem,
128
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
129
+ });
125
130
  if (onKeyExpiration === "error" || onKeyExpiration === undefined) {
126
131
  throw error;
127
132
  }
@@ -147,7 +152,11 @@ function checkKeyStatuses(session, options, keySystem) {
147
152
  break;
148
153
  }
149
154
  case KEY_STATUSES.INTERNAL_ERROR: {
150
- var error = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "A \"".concat(keyStatus, "\" status has been encountered (").concat((0, string_parsing_1.bytesToHex)(keyId), ")"), { keyStatuses: __spreadArray([keyStatusObj], __read(badKeyStatuses), false) });
155
+ var error = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "A \"".concat(keyStatus, "\" status has been encountered (").concat((0, string_parsing_1.bytesToHex)(keyId), ")"), {
156
+ keyStatuses: __spreadArray([keyStatusObj], __read(badKeyStatuses), false),
157
+ keySystem: mediaKeySystemAccess.keySystem,
158
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
159
+ });
151
160
  switch (onKeyInternalError) {
152
161
  case undefined:
153
162
  case "error":
@@ -174,7 +183,11 @@ function checkKeyStatuses(session, options, keySystem) {
174
183
  break;
175
184
  }
176
185
  case KEY_STATUSES.OUTPUT_RESTRICTED: {
177
- var error = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "A \"".concat(keyStatus, "\" status has been encountered (").concat((0, string_parsing_1.bytesToHex)(keyId), ")"), { keyStatuses: __spreadArray([keyStatusObj], __read(badKeyStatuses), false) });
186
+ var error = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "A \"".concat(keyStatus, "\" status has been encountered (").concat((0, string_parsing_1.bytesToHex)(keyId), ")"), {
187
+ keyStatuses: __spreadArray([keyStatusObj], __read(badKeyStatuses), false),
188
+ keySystem: mediaKeySystemAccess.keySystem,
189
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
190
+ });
178
191
  switch (onKeyOutputRestricted) {
179
192
  case undefined:
180
193
  case "error":
@@ -205,7 +218,11 @@ function checkKeyStatuses(session, options, keySystem) {
205
218
  });
206
219
  var warning;
207
220
  if (badKeyStatuses.length > 0) {
208
- warning = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "One or several problematic key statuses have been encountered", { keyStatuses: badKeyStatuses });
221
+ warning = new errors_1.EncryptedMediaError("KEY_STATUS_CHANGE_ERROR", "One or several problematic key statuses have been encountered", {
222
+ keyStatuses: badKeyStatuses,
223
+ keySystem: mediaKeySystemAccess.keySystem,
224
+ keySystemConfiguration: mediaKeySystemAccess.getConfiguration(),
225
+ });
209
226
  }
210
227
  return { warning: warning, blacklistedKeyIds: blacklistedKeyIds, whitelistedKeyIds: whitelistedKeyIds };
211
228
  }
@@ -242,7 +242,11 @@ function attachMediaKeys(mediaElement, previousState, mediaKeysInfo) {
242
242
  case 7:
243
243
  err_2 = _a.sent();
244
244
  errMessage = err_2 instanceof Error ? err_2.toString() : "Unknown Error";
245
- throw new errors_1.EncryptedMediaError("MEDIA_KEYS_ATTACHMENT_ERROR", "Could not attach the MediaKeys to the media element: " + errMessage);
245
+ throw new errors_1.EncryptedMediaError("MEDIA_KEYS_ATTACHMENT_ERROR", "Could not attach the MediaKeys to the media element: " + errMessage, {
246
+ keyStatuses: undefined,
247
+ keySystemConfiguration: mediaKeysInfo.mediaKeySystemAccess.getConfiguration(),
248
+ keySystem: mediaKeysInfo.mediaKeySystemAccess.keySystem,
249
+ });
246
250
  case 8: return [2 /*return*/];
247
251
  }
248
252
  });
@@ -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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"}
@@ -1024,7 +1024,11 @@ var MultiThreadContentInitializer = /** @class */ (function (_super) {
1024
1024
  return;
1025
1025
  }
1026
1026
  stopListening();
1027
- var err = new errors_1.EncryptedMediaError("MEDIA_IS_ENCRYPTED_ERROR", errMsg);
1027
+ var err = new errors_1.EncryptedMediaError("MEDIA_IS_ENCRYPTED_ERROR", errMsg, {
1028
+ keyStatuses: undefined,
1029
+ keySystemConfiguration: undefined,
1030
+ keySystem: undefined,
1031
+ });
1028
1032
  _this._onFatalError(err);
1029
1033
  }, { clearSignal: cancelSignal });
1030
1034
  var ref = new reference_1.default({
@@ -1577,7 +1581,6 @@ function bindNumberReferencesToWorker(worker, cancellationSignal) {
1577
1581
  }
1578
1582
  }
1579
1583
  function formatWorkerError(sentError) {
1580
- var _a;
1581
1584
  switch (sentError.name) {
1582
1585
  case "NetworkError":
1583
1586
  return new errors_1.NetworkError(sentError.code, new request_1.RequestError(sentError.baseError.url, sentError.baseError.status, sentError.baseError.type));
@@ -1587,14 +1590,14 @@ function formatWorkerError(sentError) {
1587
1590
  tracks: sentError.tracks,
1588
1591
  });
1589
1592
  case "EncryptedMediaError":
1590
- if (sentError.code === "KEY_STATUS_CHANGE_ERROR") {
1591
- return new errors_1.EncryptedMediaError(sentError.code, sentError.reason, {
1592
- keyStatuses: (_a = sentError.keyStatuses) !== null && _a !== void 0 ? _a : [],
1593
- });
1594
- }
1595
- else {
1596
- return new errors_1.EncryptedMediaError(sentError.code, sentError.reason);
1597
- }
1593
+ // We assume that everything have already been checked Worker-side here
1594
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
1595
+ return new errors_1.EncryptedMediaError(sentError.code, sentError.reason, {
1596
+ keyStatuses: sentError.keyStatuses,
1597
+ keySystemConfiguration: sentError.keySystemConfiguration,
1598
+ keySystem: sentError.keySystem,
1599
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1600
+ });
1598
1601
  case "OtherError":
1599
1602
  return new errors_1.OtherError(sentError.code, sentError.reason);
1600
1603
  }