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

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 +56 -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 +61 -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 +78 -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.2024081300
@@ -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.2024081300";
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.2024081300";
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;AAkPrC;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CACtD,oBAAoB,EAAE,2BAA2B,EACjD,gBAAgB,EAAE,2BAA2B,GAC5C,iBAAiB,CA2CnB;AACD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,+BAA+B,CAAC,CA+H1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,2BAA2B,EAAE,+FAmBvD"}
@@ -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;
@@ -276,6 +277,27 @@ function buildKeySystemConfigurations(keySystemTypeInfo) {
276
277
  persistentState: persistentState,
277
278
  sessionTypes: sessionTypes,
278
279
  };
280
+ if (audioCapabilitiesConfig !== undefined) {
281
+ if (videoCapabilitiesConfig !== undefined) {
282
+ return [wantedMediaKeySystemConfiguration];
283
+ }
284
+ return [
285
+ wantedMediaKeySystemConfiguration,
286
+ __assign(__assign({}, wantedMediaKeySystemConfiguration), {
287
+ // Re-try without `videoCapabilities` in case the EME implementation is
288
+ // buggy
289
+ videoCapabilities: undefined }),
290
+ ];
291
+ }
292
+ else if (videoCapabilitiesConfig !== undefined) {
293
+ return [
294
+ wantedMediaKeySystemConfiguration,
295
+ __assign(__assign({}, wantedMediaKeySystemConfiguration), {
296
+ // Re-try without `audioCapabilities` in case the EME implementation is
297
+ // buggy
298
+ audioCapabilities: undefined }),
299
+ ];
300
+ }
279
301
  return [
280
302
  wantedMediaKeySystemConfiguration,
281
303
  // Some legacy implementations have issues with `audioCapabilities` and
@@ -286,23 +308,21 @@ function buildKeySystemConfigurations(keySystemTypeInfo) {
286
308
  }
287
309
  /**
288
310
  * 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.
311
+ * @param {Object} initialConfiguration - The MediaKeySystemConfiguration given
312
+ * to the `navigator.requestMediaKeySystemAccess` API.
313
+ * @param {Object | undefined} mksConfiguration - The result of
314
+ * getConfiguration() of the media keys.
292
315
  * @return {Array} The list of supported codec by the CDM.
293
316
  */
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; });
317
+ function extractCodecSupportListFromConfiguration(initialConfiguration, mksConfiguration) {
318
+ var _a, _b, _c, _d, _e, _f;
319
+ var testedAudioCodecs = (_b = (_a = initialConfiguration.audioCapabilities) === null || _a === void 0 ? void 0 : _a.map(function (v) { return v.contentType; })) !== null && _b !== void 0 ? _b : [];
320
+ var testedVideoCodecs = (_d = (_c = initialConfiguration.videoCapabilities) === null || _c === void 0 ? void 0 : _c.map(function (v) { return v.contentType; })) !== null && _d !== void 0 ? _d : [];
321
+ var testedCodecs = testedAudioCodecs
322
+ .concat(testedVideoCodecs)
323
+ .filter(function (c) { return c !== undefined; });
324
+ var supportedVideoCodecs = (_e = mksConfiguration.videoCapabilities) === null || _e === void 0 ? void 0 : _e.map(function (entry) { return entry.contentType; });
325
+ var supportedAudioCodecs = (_f = mksConfiguration.audioCapabilities) === null || _f === void 0 ? void 0 : _f.map(function (entry) { return entry.contentType; });
306
326
  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
327
  if (supportedCodecs.length === 0) {
308
328
  // Some legacy implementations have issues with `audioCapabilities` and
@@ -349,15 +369,16 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
349
369
  if (eme_1.default.implementation === currentState.emeImplementation.implementation) {
350
370
  // Fast way to find a compatible keySystem if the currently loaded
351
371
  // one as exactly the same compatibility options.
352
- var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
372
+ var cachedKeySystemAccess = checkCachedMediaKeySystemAccess(keySystemsConfigs, currentState.askedConfiguration, currentState.mediaKeySystemAccess, currentState.keySystemOptions);
353
373
  if (cachedKeySystemAccess !== null) {
354
374
  log_1.default.info("DRM: Found cached compatible keySystem");
355
375
  return Promise.resolve({
356
376
  type: "reuse-media-key-system-access",
357
377
  value: {
358
378
  mediaKeySystemAccess: cachedKeySystemAccess.keySystemAccess,
379
+ askedConfiguration: cachedKeySystemAccess.askedConfiguration,
359
380
  options: cachedKeySystemAccess.keySystemOptions,
360
- codecSupport: extractCodecSupportListFromConfiguration(cachedKeySystemAccess.keySystemOptions.audioCapabilitiesConfig, cachedKeySystemAccess.keySystemOptions.videoCapabilitiesConfig, cachedKeySystemAccess.keySystemAccess.getConfiguration()),
381
+ codecSupport: extractCodecSupportListFromConfiguration(cachedKeySystemAccess.askedConfiguration, cachedKeySystemAccess.keySystemAccess.getConfiguration()),
361
382
  },
362
383
  });
363
384
  }
@@ -401,7 +422,7 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
401
422
  */
402
423
  function recursivelyTestKeySystems(index) {
403
424
  return __awaiter(this, void 0, void 0, function () {
404
- var chosenType, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, _1;
425
+ var chosenType, keyType, keySystemOptions, keySystemConfigurations, keySystemAccess, configIdx, keySystemConfiguration, _1;
405
426
  return __generator(this, function (_a) {
406
427
  switch (_a.label) {
407
428
  case 0:
@@ -419,11 +440,16 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
419
440
  keySystemConfigurations = buildKeySystemConfigurations(chosenType);
420
441
  log_1.default.debug("DRM: Request keysystem access ".concat(keyType, ",") +
421
442
  "".concat(index + 1, " of ").concat(keySystemsType.length));
443
+ configIdx = 0;
422
444
  _a.label = 1;
423
445
  case 1:
424
- _a.trys.push([1, 3, , 4]);
425
- return [4 /*yield*/, testKeySystem(keyType, keySystemConfigurations)];
446
+ if (!(configIdx < keySystemConfigurations.length)) return [3 /*break*/, 6];
447
+ keySystemConfiguration = keySystemConfigurations[configIdx];
448
+ _a.label = 2;
426
449
  case 2:
450
+ _a.trys.push([2, 4, , 5]);
451
+ return [4 /*yield*/, testKeySystem(keyType, [keySystemConfiguration])];
452
+ case 3:
427
453
  keySystemAccess = _a.sent();
428
454
  log_1.default.info("DRM: Found compatible keysystem", keyType, index + 1);
429
455
  return [2 /*return*/, {
@@ -431,17 +457,21 @@ function getMediaKeySystemAccess(mediaElement, keySystemsConfigs, cancelSignal)
431
457
  value: {
432
458
  options: keySystemOptions,
433
459
  mediaKeySystemAccess: keySystemAccess,
434
- codecSupport: extractCodecSupportListFromConfiguration(keySystemOptions.audioCapabilitiesConfig, keySystemOptions.videoCapabilitiesConfig, keySystemAccess.getConfiguration()),
460
+ askedConfiguration: keySystemConfiguration,
461
+ codecSupport: extractCodecSupportListFromConfiguration(keySystemConfiguration, keySystemAccess.getConfiguration()),
435
462
  },
436
463
  }];
437
- case 3:
464
+ case 4:
438
465
  _1 = _a.sent();
439
- log_1.default.debug("DRM: Rejected access to keysystem", keyType, index + 1);
466
+ log_1.default.debug("DRM: Rejected access to keysystem", keyType, index + 1, configIdx);
440
467
  if (cancelSignal.cancellationError !== null) {
441
468
  throw cancelSignal.cancellationError;
442
469
  }
443
- return [2 /*return*/, recursivelyTestKeySystems(index + 1)];
444
- case 4: return [2 /*return*/];
470
+ return [3 /*break*/, 5];
471
+ case 5:
472
+ configIdx++;
473
+ return [3 /*break*/, 1];
474
+ case 6: return [2 /*return*/, recursivelyTestKeySystems(index + 1)];
445
475
  }
446
476
  });
447
477
  });
@@ -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.2024081300";
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.2024081300";
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;AAkPrC;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CACtD,oBAAoB,EAAE,2BAA2B,EACjD,gBAAgB,EAAE,2BAA2B,GAC5C,iBAAiB,CA2CnB;AACD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,+BAA+B,CAAC,CA+H1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,2BAA2B,EAAE,+FAmBvD"}