rx-player 4.2.0-dev.2024080600 → 4.2.0-dev.2024080900

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 (39) hide show
  1. package/VERSION +1 -1
  2. package/dist/commonjs/main_thread/api/public_api.js +2 -2
  3. package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts +6 -1
  4. package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts.map +1 -1
  5. package/dist/commonjs/main_thread/decrypt/attach_media_keys.js +2 -1
  6. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  7. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +2 -1
  8. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts +17 -5
  9. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  10. package/dist/commonjs/main_thread/decrypt/find_key_system.js +35 -26
  11. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts +5 -0
  12. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  13. package/dist/commonjs/main_thread/decrypt/get_media_keys.js +4 -2
  14. package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts +5 -0
  15. package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts.map +1 -1
  16. package/dist/es2017/main_thread/api/public_api.js +2 -2
  17. package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts +6 -1
  18. package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts.map +1 -1
  19. package/dist/es2017/main_thread/decrypt/attach_media_keys.js +2 -1
  20. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  21. package/dist/es2017/main_thread/decrypt/content_decryptor.js +2 -1
  22. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts +17 -5
  23. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  24. package/dist/es2017/main_thread/decrypt/find_key_system.js +40 -35
  25. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts +5 -0
  26. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  27. package/dist/es2017/main_thread/decrypt/get_media_keys.js +3 -1
  28. package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts +5 -0
  29. package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts.map +1 -1
  30. package/dist/rx-player.js +15 -15
  31. package/package.json +1 -1
  32. package/src/main_thread/api/public_api.ts +2 -2
  33. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +376 -102
  34. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +4 -23
  35. package/src/main_thread/decrypt/attach_media_keys.ts +7 -0
  36. package/src/main_thread/decrypt/content_decryptor.ts +3 -1
  37. package/src/main_thread/decrypt/find_key_system.ts +53 -43
  38. package/src/main_thread/decrypt/get_media_keys.ts +8 -1
  39. package/src/main_thread/decrypt/utils/media_keys_infos_store.ts +6 -0
package/VERSION CHANGED
@@ -1 +1 @@
1
- 4.2.0-dev.2024080600
1
+ 4.2.0-dev.2024080900
@@ -160,7 +160,7 @@ var Player = /** @class */ (function (_super) {
160
160
  // Workaround to support Firefox autoplay on FF 42.
161
161
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
162
162
  videoElement.preload = "auto";
163
- _this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080600";
163
+ _this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080900";
164
164
  _this.log = log_1.default;
165
165
  _this.state = "STOPPED";
166
166
  _this.videoElement = videoElement;
@@ -2628,5 +2628,5 @@ var Player = /** @class */ (function (_super) {
2628
2628
  Player._priv_currentlyUsedVideoElements = new WeakSet();
2629
2629
  return Player;
2630
2630
  }(event_emitter_1.default));
2631
- Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080600";
2631
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080900";
2632
2632
  exports.default = Player;
@@ -34,7 +34,7 @@ export declare function disableMediaKeys(mediaElement: IMediaElement): Promise<u
34
34
  * @param {Object} cancelSignal
35
35
  * @returns {Promise}
36
36
  */
37
- export default function attachMediaKeys(mediaElement: IMediaElement, { emeImplementation, keySystemOptions, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, }: IMediaKeysState, cancelSignal: CancellationSignal): Promise<void>;
37
+ export default function attachMediaKeys(mediaElement: IMediaElement, { emeImplementation, keySystemOptions, askedConfiguration, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, }: IMediaKeysState, cancelSignal: CancellationSignal): Promise<void>;
38
38
  /** MediaKeys and associated state attached to a media element. */
39
39
  export interface IMediaKeysState {
40
40
  /** Options set when the MediaKeys has been attached. */
@@ -45,6 +45,11 @@ export interface IMediaKeysState {
45
45
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
46
46
  /** The MediaKeys instance to attach to the media element. */
47
47
  mediaKeys: MediaKeys | ICustomMediaKeys;
48
+ /**
49
+ * The MediaKeySystemConfiguration that has been provided to the
50
+ * `requestMediaKeySystemAccess` API.
51
+ */
52
+ askedConfiguration: MediaKeySystemConfiguration;
48
53
  /**
49
54
  * The chosen EME implementation abstraction linked to `mediaKeys`.
50
55
  * Different EME implementation might for example be used while debugging or
@@ -1 +1 @@
1
- {"version":3,"file":"attach_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/attach_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AAGrE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAI9E;AAED;;;;;;;;GAQG;AACH,wBAA8B,eAAe,CAC3C,YAAY,EAAE,aAAa,EAC3B,EACE,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,GACV,EAAE,eAAe,EAClB,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gEAAgE;IAChE,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uEAAuE;IACvE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,6DAA6D;IAC7D,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC;;;;OAIG;IACH,iBAAiB,EAAE,qBAAqB,CAAC;CAC1C"}
1
+ {"version":3,"file":"attach_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/attach_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AAGrE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAI9E;AAED;;;;;;;;GAQG;AACH,wBAA8B,eAAe,CAC3C,YAAY,EAAE,aAAa,EAC3B,EACE,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,GACV,EAAE,eAAe,EAClB,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gEAAgE;IAChE,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uEAAuE;IACvE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,6DAA6D;IAC7D,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD;;;;OAIG;IACH,iBAAiB,EAAE,qBAAqB,CAAC;CAC1C"}
@@ -82,7 +82,7 @@ function disableMediaKeys(mediaElement) {
82
82
  function attachMediaKeys(mediaElement_1, _a, cancelSignal_1) {
83
83
  return __awaiter(this, arguments, void 0, function (mediaElement, _b, cancelSignal) {
84
84
  var previousState, closeAllSessions;
85
- var emeImplementation = _b.emeImplementation, keySystemOptions = _b.keySystemOptions, loadedSessionsStore = _b.loadedSessionsStore, mediaKeySystemAccess = _b.mediaKeySystemAccess, mediaKeys = _b.mediaKeys;
85
+ var emeImplementation = _b.emeImplementation, keySystemOptions = _b.keySystemOptions, askedConfiguration = _b.askedConfiguration, loadedSessionsStore = _b.loadedSessionsStore, mediaKeySystemAccess = _b.mediaKeySystemAccess, mediaKeys = _b.mediaKeys;
86
86
  return __generator(this, function (_c) {
87
87
  switch (_c.label) {
88
88
  case 0:
@@ -104,6 +104,7 @@ function attachMediaKeys(mediaElement_1, _a, cancelSignal_1) {
104
104
  mediaKeySystemAccess: mediaKeySystemAccess,
105
105
  mediaKeys: mediaKeys,
106
106
  loadedSessionsStore: loadedSessionsStore,
107
+ askedConfiguration: askedConfiguration,
107
108
  });
108
109
  if (mediaElement.mediaKeys === mediaKeys) {
109
110
  return [2 /*return*/];
@@ -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,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAO9E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAerD,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;AAE/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;IAqEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IA8ErB;;;;;;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;IAiTxC,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;AAeD;;;;;;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,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAO9E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAerD,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;AAE/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;IAqEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IAgFrB;;;;;;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;IAiTxC,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;AAeD;;;;;;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"}
@@ -260,7 +260,7 @@ var ContentDecryptor = /** @class */ (function (_super) {
260
260
  return;
261
261
  }
262
262
  var _a = this._stateData.data, mediaElement = _a.mediaElement, mediaKeysInfo = _a.mediaKeysInfo;
263
- var options = mediaKeysInfo.options, mediaKeys = mediaKeysInfo.mediaKeys, mediaKeySystemAccess = mediaKeysInfo.mediaKeySystemAccess, stores = mediaKeysInfo.stores;
263
+ var options = mediaKeysInfo.options, mediaKeys = mediaKeysInfo.mediaKeys, mediaKeySystemAccess = mediaKeysInfo.mediaKeySystemAccess, stores = mediaKeysInfo.stores, askedConfiguration = mediaKeysInfo.askedConfiguration;
264
264
  var shouldDisableLock = options.disableMediaKeysAttachmentLock === true;
265
265
  if (shouldDisableLock) {
266
266
  this._stateData = {
@@ -281,6 +281,7 @@ var ContentDecryptor = /** @class */ (function (_super) {
281
281
  loadedSessionsStore: stores.loadedSessionsStore,
282
282
  mediaKeySystemAccess: mediaKeySystemAccess,
283
283
  mediaKeys: mediaKeys,
284
+ askedConfiguration: askedConfiguration,
284
285
  keySystemOptions: options,
285
286
  };
286
287
  log_1.default.debug("DRM: Attaching current MediaKeys");
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type { IMediaElement } from "../../compat/browser_compatibility_types";
17
17
  import type { ICustomMediaKeySystemAccess } from "../../compat/eme";
18
- import type { IAudioCapabilitiesConfiguration, IKeySystemOption, IVideoCapabilitiesConfiguration } from "../../public_types";
18
+ import type { IKeySystemOption } from "../../public_types";
19
19
  import type { CancellationSignal } from "../../utils/task_canceller";
20
20
  export type ICodecSupportList = Array<{
21
21
  codec: string;
@@ -23,8 +23,19 @@ export type ICodecSupportList = Array<{
23
23
  result: boolean;
24
24
  }>;
25
25
  export interface IMediaKeySystemAccessInfos {
26
+ /** `MediaKeySystemAccess` to use to create `MediaKeys` instances. */
26
27
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
28
+ /**
29
+ * The MediaKeySystemConfiguration that has been provided to the
30
+ * `requestMediaKeySystemAccess` API.
31
+ */
32
+ askedConfiguration: MediaKeySystemConfiguration;
33
+ /**
34
+ * Corresponding `keySystems` element that has led to the creation of the
35
+ * `MediaKeySystemAccess`.
36
+ */
27
37
  options: IKeySystemOption;
38
+ /** Information on supported or unsupported codec on that `MediaKeySystemAccess`. */
28
39
  codecSupport: ICodecSupportList;
29
40
  }
30
41
  export interface IReuseMediaKeySystemAccessEvent {
@@ -38,12 +49,13 @@ export interface ICreateMediaKeySystemAccessEvent {
38
49
  export type IFoundMediaKeySystemAccessEvent = IReuseMediaKeySystemAccessEvent | ICreateMediaKeySystemAccessEvent;
39
50
  /**
40
51
  * Extract from the current mediaKeys the supported Codecs.
41
- * @param {Object | undefined} audioCapabilitiesConfig - The audio capabilities provided to the KeySystem.
42
- * @param {Object | undefined} videoCapabilitiesConfig - The video capabilities provided to the KeySystem.
43
- * @param {Object | undefined} mksConfiguration - The result of getConfiguration() of the media keys.
52
+ * @param {Object} initialConfiguration - The MediaKeySystemConfiguration given
53
+ * to the `navigator.requestMediaKeySystemAccess` API.
54
+ * @param {Object | undefined} mksConfiguration - The result of
55
+ * getConfiguration() of the media keys.
44
56
  * @return {Array} The list of supported codec by the CDM.
45
57
  */
46
- export declare function extractCodecSupportListFromConfiguration(audioCapabilitiesConfig: IAudioCapabilitiesConfiguration | undefined, videoCapabilitiesConfig: IVideoCapabilitiesConfiguration | undefined, mksConfiguration: MediaKeySystemConfiguration): ICodecSupportList;
58
+ export declare function extractCodecSupportListFromConfiguration(initialConfiguration: MediaKeySystemConfiguration, mksConfiguration: MediaKeySystemConfiguration): ICodecSupportList;
47
59
  /**
48
60
  * Try to find a compatible key system from the keySystems array given.
49
61
  *
@@ -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,EACV,+BAA+B,EAC/B,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AAK5B,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,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,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;AAsNrC;;;;;;GAMG;AACH,wBAAgB,wCAAwC,CACtD,uBAAuB,EAAE,+BAA+B,GAAG,SAAS,EACpE,uBAAuB,EAAE,+BAA+B,GAAG,SAAS,EACpE,gBAAgB,EAAE,2BAA2B,GAC5C,iBAAiB,CAiDnB;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,CA0H1C;AACD;;;;;;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;AAyNrC;;;;;;;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"}
@@ -119,7 +119,7 @@ var media_keys_infos_store_1 = require("./utils/media_keys_infos_store");
119
119
  * @param {Object} currentKeySystemOptions
120
120
  * @returns {null|Object}
121
121
  */
122
- function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, currentKeySystemOptions) {
122
+ function checkCachedMediaKeySystemAccess(keySystems, askedConfiguration, currentKeySystemAccess, currentKeySystemOptions) {
123
123
  var mksConfiguration = currentKeySystemAccess.getConfiguration();
124
124
  if ((0, should_renew_media_key_system_access_1.default)() || (0, is_null_or_undefined_1.default)(mksConfiguration)) {
125
125
  return null;
@@ -144,6 +144,7 @@ function checkCachedMediaKeySystemAccess(keySystems, currentKeySystemAccess, cur
144
144
  return {
145
145
  keySystemOptions: firstCompatibleOption,
146
146
  keySystemAccess: currentKeySystemAccess,
147
+ askedConfiguration: askedConfiguration,
147
148
  };
148
149
  }
149
150
  return null;
@@ -286,23 +287,21 @@ function buildKeySystemConfigurations(keySystemTypeInfo) {
286
287
  }
287
288
  /**
288
289
  * Extract from the current mediaKeys the supported Codecs.
289
- * @param {Object | undefined} audioCapabilitiesConfig - The audio capabilities provided to the KeySystem.
290
- * @param {Object | undefined} videoCapabilitiesConfig - The video capabilities provided to the KeySystem.
291
- * @param {Object | undefined} mksConfiguration - The result of getConfiguration() of the media keys.
290
+ * @param {Object} initialConfiguration - The MediaKeySystemConfiguration given
291
+ * to the `navigator.requestMediaKeySystemAccess` API.
292
+ * @param {Object | undefined} mksConfiguration - The result of
293
+ * getConfiguration() of the media keys.
292
294
  * @return {Array} The list of supported codec by the CDM.
293
295
  */
294
- function extractCodecSupportListFromConfiguration(audioCapabilitiesConfig, videoCapabilitiesConfig, mksConfiguration) {
295
- var _a, _b;
296
- var _c = config_1.default.getCurrent(), EME_DEFAULT_AUDIO_CODECS = _c.EME_DEFAULT_AUDIO_CODECS, EME_DEFAULT_VIDEO_CODECS = _c.EME_DEFAULT_VIDEO_CODECS;
297
- var testedAudioCodecs = (audioCapabilitiesConfig === null || audioCapabilitiesConfig === void 0 ? void 0 : audioCapabilitiesConfig.type) === "contentType"
298
- ? audioCapabilitiesConfig === null || audioCapabilitiesConfig === void 0 ? void 0 : audioCapabilitiesConfig.value
299
- : EME_DEFAULT_AUDIO_CODECS;
300
- var testedVideoCodecs = (videoCapabilitiesConfig === null || videoCapabilitiesConfig === void 0 ? void 0 : videoCapabilitiesConfig.type) === "contentType"
301
- ? videoCapabilitiesConfig.value
302
- : EME_DEFAULT_VIDEO_CODECS;
303
- var testedCodecs = testedAudioCodecs.concat(testedVideoCodecs);
304
- var supportedVideoCodecs = (_a = mksConfiguration.videoCapabilities) === null || _a === void 0 ? void 0 : _a.map(function (entry) { return entry.contentType; });
305
- var supportedAudioCodecs = (_b = mksConfiguration.audioCapabilities) === null || _b === void 0 ? void 0 : _b.map(function (entry) { return entry.contentType; });
296
+ function extractCodecSupportListFromConfiguration(initialConfiguration, mksConfiguration) {
297
+ var _a, _b, _c, _d, _e, _f;
298
+ var testedAudioCodecs = (_b = (_a = initialConfiguration.audioCapabilities) === null || _a === void 0 ? void 0 : _a.map(function (v) { return v.contentType; })) !== null && _b !== void 0 ? _b : [];
299
+ var testedVideoCodecs = (_d = (_c = initialConfiguration.videoCapabilities) === null || _c === void 0 ? void 0 : _c.map(function (v) { return v.contentType; })) !== null && _d !== void 0 ? _d : [];
300
+ var testedCodecs = testedAudioCodecs
301
+ .concat(testedVideoCodecs)
302
+ .filter(function (c) { return c !== undefined; });
303
+ var supportedVideoCodecs = (_e = mksConfiguration.videoCapabilities) === null || _e === void 0 ? void 0 : _e.map(function (entry) { return entry.contentType; });
304
+ var supportedAudioCodecs = (_f = mksConfiguration.audioCapabilities) === null || _f === void 0 ? void 0 : _f.map(function (entry) { return entry.contentType; });
306
305
  var supportedCodecs = __spreadArray(__spreadArray([], __read((supportedVideoCodecs !== null && supportedVideoCodecs !== void 0 ? supportedVideoCodecs : [])), false), __read((supportedAudioCodecs !== null && supportedAudioCodecs !== void 0 ? supportedAudioCodecs : [])), false).filter(function (contentType) { return contentType !== undefined; });
307
306
  if (supportedCodecs.length === 0) {
308
307
  // Some legacy implementations have issues with `audioCapabilities` and
@@ -349,15 +348,16 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
349
348
  if (eme_1.default.implementation === currentState.emeImplementation.implementation) {
350
349
  // Fast way to find a compatible keySystem if the currently loaded
351
350
  // one as exactly the same compatibility options.
352
- var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
351
+ var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.askedConfiguration, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
353
352
  if (cachedKeySystemAccess !== null) {
354
353
  log_1.default.info("DRM: Found cached compatible keySystem");
355
354
  return Promise.resolve({
356
355
  type: "reuse-media-key-system-access",
357
356
  value: {
358
357
  mediaKeySystemAccess: cachedKeySystemAccess.keySystemAccess,
358
+ askedConfiguration: cachedKeySystemAccess.askedConfiguration,
359
359
  options: cachedKeySystemAccess.keySystemOptions,
360
- codecSupport: extractCodecSupportListFromConfiguration(cachedKeySystemAccess.keySystemOptions.audioCapabilitiesConfig, cachedKeySystemAccess.keySystemOptions.videoCapabilitiesConfig, cachedKeySystemAccess.keySystemAccess.getConfiguration()),
360
+ codecSupport: extractCodecSupportListFromConfiguration(cachedKeySystemAccess.askedConfiguration, cachedKeySystemAccess.keySystemAccess.getConfiguration()),
361
361
  },
362
362
  });
363
363
  }
@@ -401,7 +401,7 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
401
401
  */
402
402
  function recursivelyTestKeySystems(index) {
403
403
  return __awaiter(this, void 0, void 0, function () {
404
- var chosenType, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, _1;
404
+ var chosenType, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, configIdx, keySystemConfiguration, _1;
405
405
  return __generator(this, function (_a) {
406
406
  switch (_a.label) {
407
407
  case 0:
@@ -419,11 +419,16 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
419
419
  keySystemConfigurations = buildKeySystemConfigurations(chosenType);
420
420
  log_1.default.debug("DRM: Request keysystem access ".concat(keyType, ",") +
421
421
  "".concat(index + 1, " of ").concat(keySystemsType.length));
422
+ configIdx = 0;
422
423
  _a.label = 1;
423
424
  case 1:
424
- _a.trys.push([1, 3, , 4]);
425
- return [4 /*yield*/, testKeySystem(keyType, keySystemConfigurations)];
425
+ if (!(configIdx < keySystemConfigurations.length)) return [3 /*break*/, 6];
426
+ keySystemConfiguration = keySystemConfigurations[configIdx];
427
+ _a.label = 2;
426
428
  case 2:
429
+ _a.trys.push([2, 4, , 5]);
430
+ return [4 /*yield*/, testKeySystem(keyType, [keySystemConfiguration])];
431
+ case 3:
427
432
  keySystemAccess = _a.sent();
428
433
  log_1.default.info("DRM: Found compatible keysystem", keyType, index + 1);
429
434
  return [2 /*return*/, {
@@ -431,17 +436,21 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
431
436
  value: {
432
437
  options: keySystemOptions,
433
438
  mediaKeySystemAccess: keySystemAccess,
434
- codecSupport: extractCodecSupportListFromConfiguration(keySystemOptions.audioCapabilitiesConfig, keySystemOptions.videoCapabilitiesConfig, keySystemAccess.getConfiguration()),
439
+ askedConfiguration: keySystemConfiguration,
440
+ codecSupport: extractCodecSupportListFromConfiguration(keySystemConfiguration, keySystemAccess.getConfiguration()),
435
441
  },
436
442
  }];
437
- case 3:
443
+ case 4:
438
444
  _1 = _a.sent();
439
- log_1.default.debug("DRM: Rejected access to keysystem", keyType, index + 1);
445
+ log_1.default.debug("DRM: Rejected access to keysystem", keyType, index + 1, configIdx);
440
446
  if (cancelSignal.cancellationError !== null) {
441
447
  throw cancelSignal.cancellationError;
442
448
  }
443
- return [2 /*return*/, recursivelyTestKeySystems(index + 1)];
444
- case 4: return [2 /*return*/];
449
+ return [3 /*break*/, 5];
450
+ case 5:
451
+ configIdx++;
452
+ return [3 /*break*/, 1];
453
+ case 6: return [2 /*return*/, recursivelyTestKeySystems(index + 1)];
445
454
  }
446
455
  });
447
456
  });
@@ -23,6 +23,11 @@ import type { IMediaKeySessionStores } from "./types";
23
23
  export interface IMediaKeysInfos {
24
24
  /** The MediaKeySystemAccess which allowed to create the MediaKeys instance. */
25
25
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
26
+ /**
27
+ * The MediaKeySystemConfiguration that has been provided to the
28
+ * `requestMediaKeySystemAccess` API.
29
+ */
30
+ askedConfiguration: MediaKeySystemConfiguration;
26
31
  /** The MediaKeys instance. */
27
32
  mediaKeys: MediaKeys | ICustomMediaKeys;
28
33
  /** Stores allowing to create and retrieve MediaKeySessions. */
@@ -1 +1 @@
1
- {"version":3,"file":"get_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/get_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAuBtD,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,8BAA8B;IAC9B,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,+DAA+D;IAC/D,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qEAAqE;IACrE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,yBAAyB;IACzB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAA8B,iBAAiB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAiD1B"}
1
+ {"version":3,"file":"get_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/get_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAuBtD,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,8BAA8B;IAC9B,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,+DAA+D;IAC/D,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qEAAqE;IACrE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,yBAAyB;IACzB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAA8B,iBAAiB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAmD1B"}
@@ -89,7 +89,7 @@ function createPersistentSessionsStorage(keySystemOptions) {
89
89
  */
90
90
  function getMediaKeysInfos(mediaElement, keySystemsConfigs, cancelSignal) {
91
91
  return __awaiter(this, void 0, void 0, function () {
92
- var evt, _a, options, mediaKeySystemAccess, codecSupport, currentState, persistentSessionsStore, mediaKeys_1, loadedSessionsStore_1, mediaKeys, loadedSessionsStore;
92
+ var evt, _a, options, mediaKeySystemAccess, askedConfiguration, codecSupport, currentState, persistentSessionsStore, mediaKeys_1, loadedSessionsStore_1, mediaKeys, loadedSessionsStore;
93
93
  return __generator(this, function (_b) {
94
94
  switch (_b.label) {
95
95
  case 0: return [4 /*yield*/, (0, find_key_system_1.default)(mediaElement, keySystemsConfigs, cancelSignal)];
@@ -98,7 +98,7 @@ function getMediaKeysInfos(mediaElement, keySystemsConfigs, cancelSignal) {
98
98
  if (cancelSignal.cancellationError !== null) {
99
99
  throw cancelSignal.cancellationError;
100
100
  }
101
- _a = evt.value, options = _a.options, mediaKeySystemAccess = _a.mediaKeySystemAccess, codecSupport = _a.codecSupport;
101
+ _a = evt.value, options = _a.options, mediaKeySystemAccess = _a.mediaKeySystemAccess, askedConfiguration = _a.askedConfiguration, codecSupport = _a.codecSupport;
102
102
  currentState = media_keys_infos_store_1.default.getState(mediaElement);
103
103
  persistentSessionsStore = createPersistentSessionsStorage(options);
104
104
  if ((0, can_reuse_media_keys_1.default)() &&
@@ -114,6 +114,7 @@ function getMediaKeysInfos(mediaElement, keySystemsConfigs, cancelSignal) {
114
114
  return [2 /*return*/, {
115
115
  mediaKeys: mediaKeys_1,
116
116
  mediaKeySystemAccess: mediaKeySystemAccess,
117
+ askedConfiguration: askedConfiguration,
117
118
  stores: { loadedSessionsStore: loadedSessionsStore_1, persistentSessionsStore: persistentSessionsStore },
118
119
  options: options,
119
120
  codecSupport: codecSupport,
@@ -128,6 +129,7 @@ function getMediaKeysInfos(mediaElement, keySystemsConfigs, cancelSignal) {
128
129
  return [2 /*return*/, {
129
130
  mediaKeys: mediaKeys,
130
131
  mediaKeySystemAccess: mediaKeySystemAccess,
132
+ askedConfiguration: askedConfiguration,
131
133
  stores: { loadedSessionsStore: loadedSessionsStore, persistentSessionsStore: persistentSessionsStore },
132
134
  options: options,
133
135
  codecSupport: codecSupport,
@@ -22,6 +22,11 @@ export interface IMediaElementMediaKeysInfos {
22
22
  emeImplementation: IEmeApiImplementation;
23
23
  /** Last keySystemOptions used with that HTMLMediaElement. */
24
24
  keySystemOptions: IKeySystemOption;
25
+ /**
26
+ * The actual MediaKeySystemConfiguration asked to the
27
+ * `requestMediaKeySystemAccess` API.
28
+ */
29
+ askedConfiguration: MediaKeySystemConfiguration;
25
30
  /**
26
31
  * Last MediaKeySystemAccess used to create a MediaKeys bound to that
27
32
  * HTMLMediaElement.
@@ -1 +1 @@
1
- {"version":3,"file":"media_keys_infos_store.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/decrypt/utils/media_keys_infos_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,yBAAyB,CAAC;AAE/D,6EAA6E;AAC7E,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,qBAAqB,CAAC;IAEzC,6DAA6D;IAC7D,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;;OAGG;IACH,oBAAoB,EAAE,2BAA2B,GAAG,oBAAoB,CAAC;IAEzE,8DAA8D;IAC9D,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAExC;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;;IASC;;;;OAIG;2BACoB,aAAa,SAAS,2BAA2B,GAAG,IAAI,GAAG,IAAI;IAItF;;;;OAIG;2BACoB,aAAa,GAAG,2BAA2B,GAAG,IAAI;IAKzE;;;OAGG;6BACsB,aAAa,GAAG,IAAI;;AAxB/C,wBA2BE"}
1
+ {"version":3,"file":"media_keys_infos_store.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/decrypt/utils/media_keys_infos_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,yBAAyB,CAAC;AAE/D,6EAA6E;AAC7E,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,qBAAqB,CAAC;IAEzC,6DAA6D;IAC7D,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAEhD;;;OAGG;IACH,oBAAoB,EAAE,2BAA2B,GAAG,oBAAoB,CAAC;IAEzE,8DAA8D;IAC9D,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAExC;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;;IASC;;;;OAIG;2BACoB,aAAa,SAAS,2BAA2B,GAAG,IAAI,GAAG,IAAI;IAItF;;;;OAIG;2BACoB,aAAa,GAAG,2BAA2B,GAAG,IAAI;IAKzE;;;OAGG;6BACsB,aAAa,GAAG,IAAI;;AAxB/C,wBA2BE"}
@@ -142,7 +142,7 @@ class Player extends EventEmitter {
142
142
  // Workaround to support Firefox autoplay on FF 42.
143
143
  // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
144
144
  videoElement.preload = "auto";
145
- this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080600";
145
+ this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080900";
146
146
  this.log = log;
147
147
  this.state = "STOPPED";
148
148
  this.videoElement = videoElement;
@@ -2410,5 +2410,5 @@ class Player extends EventEmitter {
2410
2410
  * Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
2411
2411
  */
2412
2412
  Player._priv_currentlyUsedVideoElements = new WeakSet();
2413
- Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080600";
2413
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024080900";
2414
2414
  export default Player;
@@ -34,7 +34,7 @@ export declare function disableMediaKeys(mediaElement: IMediaElement): Promise<u
34
34
  * @param {Object} cancelSignal
35
35
  * @returns {Promise}
36
36
  */
37
- export default function attachMediaKeys(mediaElement: IMediaElement, { emeImplementation, keySystemOptions, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, }: IMediaKeysState, cancelSignal: CancellationSignal): Promise<void>;
37
+ export default function attachMediaKeys(mediaElement: IMediaElement, { emeImplementation, keySystemOptions, askedConfiguration, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, }: IMediaKeysState, cancelSignal: CancellationSignal): Promise<void>;
38
38
  /** MediaKeys and associated state attached to a media element. */
39
39
  export interface IMediaKeysState {
40
40
  /** Options set when the MediaKeys has been attached. */
@@ -45,6 +45,11 @@ export interface IMediaKeysState {
45
45
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
46
46
  /** The MediaKeys instance to attach to the media element. */
47
47
  mediaKeys: MediaKeys | ICustomMediaKeys;
48
+ /**
49
+ * The MediaKeySystemConfiguration that has been provided to the
50
+ * `requestMediaKeySystemAccess` API.
51
+ */
52
+ askedConfiguration: MediaKeySystemConfiguration;
48
53
  /**
49
54
  * The chosen EME implementation abstraction linked to `mediaKeys`.
50
55
  * Different EME implementation might for example be used while debugging or
@@ -1 +1 @@
1
- {"version":3,"file":"attach_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/attach_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AAGrE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAI9E;AAED;;;;;;;;GAQG;AACH,wBAA8B,eAAe,CAC3C,YAAY,EAAE,aAAa,EAC3B,EACE,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,GACV,EAAE,eAAe,EAClB,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gEAAgE;IAChE,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uEAAuE;IACvE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,6DAA6D;IAC7D,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC;;;;OAIG;IACH,iBAAiB,EAAE,qBAAqB,CAAC;CAC1C"}
1
+ {"version":3,"file":"attach_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/attach_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AAGrE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAI9E;AAED;;;;;;;;GAQG;AACH,wBAA8B,eAAe,CAC3C,YAAY,EAAE,aAAa,EAC3B,EACE,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,GACV,EAAE,eAAe,EAClB,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gEAAgE;IAChE,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uEAAuE;IACvE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,6DAA6D;IAC7D,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD;;;;OAIG;IACH,iBAAiB,EAAE,qBAAqB,CAAC;CAC1C"}
@@ -39,7 +39,7 @@ export function disableMediaKeys(mediaElement) {
39
39
  * @param {Object} cancelSignal
40
40
  * @returns {Promise}
41
41
  */
42
- export default async function attachMediaKeys(mediaElement, { emeImplementation, keySystemOptions, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, }, cancelSignal) {
42
+ export default async function attachMediaKeys(mediaElement, { emeImplementation, keySystemOptions, askedConfiguration, loadedSessionsStore, mediaKeySystemAccess, mediaKeys, }, cancelSignal) {
43
43
  const previousState = MediaKeysInfosStore.getState(mediaElement);
44
44
  const closeAllSessions = previousState !== null && previousState.loadedSessionsStore !== loadedSessionsStore
45
45
  ? previousState.loadedSessionsStore.closeAllSessions()
@@ -56,6 +56,7 @@ export default async function attachMediaKeys(mediaElement, { emeImplementation,
56
56
  mediaKeySystemAccess,
57
57
  mediaKeys,
58
58
  loadedSessionsStore,
59
+ askedConfiguration,
59
60
  });
60
61
  if (mediaElement.mediaKeys === mediaKeys) {
61
62
  return;
@@ -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,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAO9E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAerD,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;AAE/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;IAqEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IA8ErB;;;;;;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;IAiTxC,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;AAeD;;;;;;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,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAO9E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAerD,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;AAE/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;IAqEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IAgFrB;;;;;;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;IAiTxC,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;AAeD;;;;;;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"}
@@ -154,7 +154,7 @@ export default class ContentDecryptor extends EventEmitter {
154
154
  return;
155
155
  }
156
156
  const { mediaElement, mediaKeysInfo } = this._stateData.data;
157
- const { options, mediaKeys, mediaKeySystemAccess, stores } = mediaKeysInfo;
157
+ const { options, mediaKeys, mediaKeySystemAccess, stores, askedConfiguration } = mediaKeysInfo;
158
158
  const shouldDisableLock = options.disableMediaKeysAttachmentLock === true;
159
159
  if (shouldDisableLock) {
160
160
  this._stateData = {
@@ -175,6 +175,7 @@ export default class ContentDecryptor extends EventEmitter {
175
175
  loadedSessionsStore: stores.loadedSessionsStore,
176
176
  mediaKeySystemAccess,
177
177
  mediaKeys,
178
+ askedConfiguration,
178
179
  keySystemOptions: options,
179
180
  };
180
181
  log.debug("DRM: Attaching current MediaKeys");
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type { IMediaElement } from "../../compat/browser_compatibility_types";
17
17
  import type { ICustomMediaKeySystemAccess } from "../../compat/eme";
18
- import type { IAudioCapabilitiesConfiguration, IKeySystemOption, IVideoCapabilitiesConfiguration } from "../../public_types";
18
+ import type { IKeySystemOption } from "../../public_types";
19
19
  import type { CancellationSignal } from "../../utils/task_canceller";
20
20
  export type ICodecSupportList = Array<{
21
21
  codec: string;
@@ -23,8 +23,19 @@ export type ICodecSupportList = Array<{
23
23
  result: boolean;
24
24
  }>;
25
25
  export interface IMediaKeySystemAccessInfos {
26
+ /** `MediaKeySystemAccess` to use to create `MediaKeys` instances. */
26
27
  mediaKeySystemAccess: MediaKeySystemAccess | ICustomMediaKeySystemAccess;
28
+ /**
29
+ * The MediaKeySystemConfiguration that has been provided to the
30
+ * `requestMediaKeySystemAccess` API.
31
+ */
32
+ askedConfiguration: MediaKeySystemConfiguration;
33
+ /**
34
+ * Corresponding `keySystems` element that has led to the creation of the
35
+ * `MediaKeySystemAccess`.
36
+ */
27
37
  options: IKeySystemOption;
38
+ /** Information on supported or unsupported codec on that `MediaKeySystemAccess`. */
28
39
  codecSupport: ICodecSupportList;
29
40
  }
30
41
  export interface IReuseMediaKeySystemAccessEvent {
@@ -38,12 +49,13 @@ export interface ICreateMediaKeySystemAccessEvent {
38
49
  export type IFoundMediaKeySystemAccessEvent = IReuseMediaKeySystemAccessEvent | ICreateMediaKeySystemAccessEvent;
39
50
  /**
40
51
  * Extract from the current mediaKeys the supported Codecs.
41
- * @param {Object | undefined} audioCapabilitiesConfig - The audio capabilities provided to the KeySystem.
42
- * @param {Object | undefined} videoCapabilitiesConfig - The video capabilities provided to the KeySystem.
43
- * @param {Object | undefined} mksConfiguration - The result of getConfiguration() of the media keys.
52
+ * @param {Object} initialConfiguration - The MediaKeySystemConfiguration given
53
+ * to the `navigator.requestMediaKeySystemAccess` API.
54
+ * @param {Object | undefined} mksConfiguration - The result of
55
+ * getConfiguration() of the media keys.
44
56
  * @return {Array} The list of supported codec by the CDM.
45
57
  */
46
- export declare function extractCodecSupportListFromConfiguration(audioCapabilitiesConfig: IAudioCapabilitiesConfiguration | undefined, videoCapabilitiesConfig: IVideoCapabilitiesConfiguration | undefined, mksConfiguration: MediaKeySystemConfiguration): ICodecSupportList;
58
+ export declare function extractCodecSupportListFromConfiguration(initialConfiguration: MediaKeySystemConfiguration, mksConfiguration: MediaKeySystemConfiguration): ICodecSupportList;
47
59
  /**
48
60
  * Try to find a compatible key system from the keySystems array given.
49
61
  *
@@ -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,EACV,+BAA+B,EAC/B,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AAK5B,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,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,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;AAsNrC;;;;;;GAMG;AACH,wBAAgB,wCAAwC,CACtD,uBAAuB,EAAE,+BAA+B,GAAG,SAAS,EACpE,uBAAuB,EAAE,+BAA+B,GAAG,SAAS,EACpE,gBAAgB,EAAE,2BAA2B,GAC5C,iBAAiB,CAiDnB;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,CA0H1C;AACD;;;;;;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;AAyNrC;;;;;;;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"}