rx-player 4.2.0-dev.2024080900 → 4.2.0-dev.2024081301
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.
- package/VERSION +1 -1
- package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts +0 -3
- package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +2 -2
- package/dist/commonjs/compat/eme/eme-api-implementation.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/eme-api-implementation.js +2 -17
- package/dist/commonjs/compat/eme/get_init_data.d.ts +1 -3
- package/dist/commonjs/compat/eme/get_init_data.d.ts.map +1 -1
- package/dist/commonjs/compat/eme/get_init_data.js +2 -2
- package/dist/commonjs/compat/event_listeners.d.ts +19 -21
- package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
- package/dist/commonjs/compat/event_listeners.js +11 -0
- package/dist/commonjs/main_thread/api/public_api.js +2 -2
- package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts +0 -8
- package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/content_decryptor.js +0 -49
- package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/find_key_system.js +21 -0
- package/dist/commonjs/main_thread/decrypt/types.d.ts +0 -1
- package/dist/commonjs/main_thread/decrypt/types.d.ts.map +1 -1
- package/dist/es2017/compat/eme/custom_media_keys/types.d.ts +0 -3
- package/dist/es2017/compat/eme/custom_media_keys/types.d.ts.map +1 -1
- package/dist/es2017/compat/eme/eme-api-implementation.d.ts +2 -2
- package/dist/es2017/compat/eme/eme-api-implementation.d.ts.map +1 -1
- package/dist/es2017/compat/eme/eme-api-implementation.js +2 -17
- package/dist/es2017/compat/eme/get_init_data.d.ts +1 -3
- package/dist/es2017/compat/eme/get_init_data.d.ts.map +1 -1
- package/dist/es2017/compat/eme/get_init_data.js +2 -2
- package/dist/es2017/compat/event_listeners.d.ts +19 -21
- package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
- package/dist/es2017/compat/event_listeners.js +11 -0
- package/dist/es2017/main_thread/api/public_api.js +2 -2
- package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts +0 -8
- package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/content_decryptor.js +0 -45
- package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/find_key_system.js +21 -0
- package/dist/es2017/main_thread/decrypt/types.d.ts +0 -1
- package/dist/es2017/main_thread/decrypt/types.d.ts.map +1 -1
- package/dist/rx-player.js +18 -18
- package/package.json +1 -1
- package/src/compat/eme/custom_media_keys/types.ts +0 -4
- package/src/compat/eme/eme-api-implementation.ts +4 -36
- package/src/compat/eme/get_init_data.ts +3 -5
- package/src/compat/event_listeners.ts +5 -30
- package/src/main_thread/api/public_api.ts +2 -2
- package/src/main_thread/decrypt/content_decryptor.ts +1 -58
- package/src/main_thread/decrypt/find_key_system.ts +25 -0
- package/src/main_thread/decrypt/types.ts +0 -2
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.2.0-dev.
|
|
1
|
+
4.2.0-dev.2024081301
|
|
@@ -42,7 +42,4 @@ export interface ICustomMediaKeyStatusMap {
|
|
|
42
42
|
export interface IMediaKeySessionEvents {
|
|
43
43
|
[key: string]: MediaKeyMessageEvent | Event;
|
|
44
44
|
}
|
|
45
|
-
export interface ICustomMediaEncryptedEvent extends MediaEncryptedEvent {
|
|
46
|
-
forceSessionRecreation?: boolean | undefined;
|
|
47
|
-
}
|
|
48
45
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/compat/eme/custom_media_keys/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,sBAAuB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;IAEnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,wBAAwB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAI3C,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,aAAa,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,sBAAsB,CAAC;IACzE,oBAAoB,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,KAAK,CAAC;CAO7C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/compat/eme/custom_media_keys/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,sBAAuB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;IAEnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,wBAAwB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAI3C,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,aAAa,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,sBAAsB,CAAC;IACzE,oBAAoB,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,KAAK,CAAC;CAO7C"}
|
|
@@ -2,7 +2,7 @@ import type { CancellationSignal } from "../../utils/task_canceller";
|
|
|
2
2
|
import type { IMediaElement } from "../browser_compatibility_types";
|
|
3
3
|
import type { IEventTargetLike } from "../event_listeners";
|
|
4
4
|
import CustomMediaKeySystemAccess from "./custom_key_system_access";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ICustomMediaKeys } from "./custom_media_keys/types";
|
|
6
6
|
/**
|
|
7
7
|
* Automatically detect and set which EME implementation should be used in the
|
|
8
8
|
* current platform.
|
|
@@ -35,7 +35,7 @@ export interface IEmeApiImplementation {
|
|
|
35
35
|
* @param {Object} cancelSignal - The event listener will be removed once that
|
|
36
36
|
* `CancellationSignal` emits.
|
|
37
37
|
*/
|
|
38
|
-
onEncrypted: (target: IEventTargetLike, listener: (evt:
|
|
38
|
+
onEncrypted: (target: IEventTargetLike, listener: (evt: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
39
39
|
/**
|
|
40
40
|
* API allowing to attach a `MediaKeys` instance (or an `ICustomMediaKeys`) to
|
|
41
41
|
* the HTMLMediaElement so it can start decoding.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eme-api-implementation.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/eme-api-implementation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eme-api-implementation.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/eme-api-implementation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,0BAA0B,MAAM,4BAA4B,CAAC;AAUpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;;;GAKG;AACH,QAAA,MAAM,wBAAwB,uBAAkC,CAAC;AAEjE,eAAe,wBAAwB,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,2BAA2B,EAAE,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,2BAA2B,EAAE,KAClC,OAAO,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,CAAC;IAEhE;;;;;;;;;OASG;IACH,WAAW,EAAE,CACX,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EAChC,YAAY,EAAE,kBAAkB,KAC7B,IAAI,CAAC;IAEV;;;;;;;;OAQG;IACH,YAAY,EAAE,CACZ,YAAY,EAAE,aAAa,EAC3B,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,KAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,cAAc,EAAE,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;CACnF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC"}
|
|
@@ -30,7 +30,6 @@ var assert_1 = require("../../utils/assert");
|
|
|
30
30
|
var global_scope_1 = require("../../utils/global_scope");
|
|
31
31
|
var is_node_1 = require("../../utils/is_node");
|
|
32
32
|
var is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
|
|
33
|
-
var object_assign_1 = require("../../utils/object_assign");
|
|
34
33
|
var browser_detection_1 = require("../browser_detection");
|
|
35
34
|
var event_listeners_1 = require("../event_listeners");
|
|
36
35
|
var should_favour_custom_safari_EME_1 = require("../should_favour_custom_safari_EME");
|
|
@@ -79,8 +78,8 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
79
78
|
var isTypeSupported_1;
|
|
80
79
|
var createCustomMediaKeys_1;
|
|
81
80
|
if (preferredApiType === "webkit" && webkit_media_keys_constructor_1.WebKitMediaKeysConstructor !== undefined) {
|
|
81
|
+
onEncrypted = (0, event_listeners_1.createCompatibleEventListener)(["needkey"]);
|
|
82
82
|
var callbacks = (0, webkit_media_keys_1.default)();
|
|
83
|
-
onEncrypted = createOnEncryptedForWebkit();
|
|
84
83
|
isTypeSupported_1 = callbacks.isTypeSupported;
|
|
85
84
|
createCustomMediaKeys_1 = callbacks.createCustomMediaKeys;
|
|
86
85
|
setMediaKeys = callbacks.setMediaKeys;
|
|
@@ -98,7 +97,7 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
98
97
|
// This is for WebKit with prefixed EME api
|
|
99
98
|
}
|
|
100
99
|
else if (webkit_media_keys_constructor_1.WebKitMediaKeysConstructor !== undefined) {
|
|
101
|
-
onEncrypted =
|
|
100
|
+
onEncrypted = (0, event_listeners_1.createCompatibleEventListener)(["needkey"]);
|
|
102
101
|
var callbacks = (0, webkit_media_keys_1.default)();
|
|
103
102
|
isTypeSupported_1 = callbacks.isTypeSupported;
|
|
104
103
|
createCustomMediaKeys_1 = callbacks.createCustomMediaKeys;
|
|
@@ -189,20 +188,6 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
189
188
|
implementation: implementation,
|
|
190
189
|
};
|
|
191
190
|
}
|
|
192
|
-
/**
|
|
193
|
-
* Create an event listener for the "webkitneedkey" event
|
|
194
|
-
* @returns
|
|
195
|
-
*/
|
|
196
|
-
function createOnEncryptedForWebkit() {
|
|
197
|
-
var compatibleEventListener = (0, event_listeners_1.createCompatibleEventListener)(["needkey"], undefined /* prefixes */);
|
|
198
|
-
var onEncrypted = function (target, listener, cancelSignal) {
|
|
199
|
-
compatibleEventListener(target, function (event) {
|
|
200
|
-
var patchedEvent = (0, object_assign_1.default)({ forceSessionRecreation: true }, event);
|
|
201
|
-
listener(patchedEvent);
|
|
202
|
-
}, cancelSignal);
|
|
203
|
-
};
|
|
204
|
-
return onEncrypted;
|
|
205
|
-
}
|
|
206
191
|
/**
|
|
207
192
|
* Set the given MediaKeys on the given HTMLMediaElement.
|
|
208
193
|
* Emits null when done then complete.
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { ICustomMediaEncryptedEvent } from "./custom_media_keys/types";
|
|
17
16
|
/** Data recuperated from parsing the payload of an `encrypted` event. */
|
|
18
17
|
export interface IEncryptedEventData {
|
|
19
18
|
/**
|
|
@@ -43,7 +42,6 @@ export interface IEncryptedEventData {
|
|
|
43
42
|
*/
|
|
44
43
|
data: Uint8Array;
|
|
45
44
|
}>;
|
|
46
|
-
forceSessionRecreation?: boolean | undefined;
|
|
47
45
|
}
|
|
48
46
|
/**
|
|
49
47
|
* Take out the two things we need on an encryptedEvent:
|
|
@@ -56,5 +54,5 @@ export interface IEncryptedEventData {
|
|
|
56
54
|
* @throws {EncryptedMediaError} - Throws if no initialization data is
|
|
57
55
|
* encountered in the given event.
|
|
58
56
|
*/
|
|
59
|
-
export default function getInitData(encryptedEvent:
|
|
57
|
+
export default function getInitData(encryptedEvent: MediaEncryptedEvent): IEncryptedEventData | null;
|
|
60
58
|
//# sourceMappingURL=get_init_data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_init_data.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/get_init_data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"get_init_data.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/get_init_data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,+CAA+C;IAC/C,MAAM,EAAE,KAAK,CAAC;QACZ;;;;;;;WAOG;QACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC,CAAC;CACJ;AAmFD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,cAAc,EAAE,mBAAmB,GAClC,mBAAmB,GAAG,IAAI,CAU5B"}
|
|
@@ -102,12 +102,12 @@ function isPSSHAlreadyEncountered(encounteredPSSHs, pssh) {
|
|
|
102
102
|
* encountered in the given event.
|
|
103
103
|
*/
|
|
104
104
|
function getInitData(encryptedEvent) {
|
|
105
|
-
var initData = encryptedEvent.initData, initDataType = encryptedEvent.initDataType
|
|
105
|
+
var initData = encryptedEvent.initData, initDataType = encryptedEvent.initDataType;
|
|
106
106
|
if ((0, is_null_or_undefined_1.default)(initData)) {
|
|
107
107
|
log_1.default.warn("Compat: No init data found on media encrypted event.");
|
|
108
108
|
return null;
|
|
109
109
|
}
|
|
110
110
|
var initDataBytes = new Uint8Array(initData);
|
|
111
111
|
var values = getInitializationDataValues(initDataBytes);
|
|
112
|
-
return { type: initDataType, values: values
|
|
112
|
+
return { type: initDataType, values: values };
|
|
113
113
|
}
|
|
@@ -17,10 +17,9 @@ import type { IEventEmitter } from "../utils/event_emitter";
|
|
|
17
17
|
import type { IReadOnlySharedReference } from "../utils/reference";
|
|
18
18
|
import type { CancellationSignal } from "../utils/task_canceller";
|
|
19
19
|
import type { ICompatPictureInPictureWindow, IEventTarget, IMediaElement } from "./browser_compatibility_types";
|
|
20
|
-
import type { ICustomMediaEncryptedEvent } from "./eme/custom_media_keys/types";
|
|
21
20
|
export interface IEventEmitterLike {
|
|
22
|
-
addEventListener: (eventName: string, handler:
|
|
23
|
-
removeEventListener: (eventName: string, handler:
|
|
21
|
+
addEventListener: (eventName: string, handler: () => void) => void;
|
|
22
|
+
removeEventListener: (eventName: string, handler: () => void) => void;
|
|
24
23
|
}
|
|
25
24
|
export type IEventTargetLike = HTMLElement | IEventEmitterLike | IEventEmitter<unknown>;
|
|
26
25
|
/**
|
|
@@ -34,8 +33,7 @@ export type IEventTargetLike = HTMLElement | IEventEmitterLike | IEventEmitter<u
|
|
|
34
33
|
* @returns {Function} - Returns function allowing to easily add a callback to
|
|
35
34
|
* be triggered when that event is emitted on a given event target.
|
|
36
35
|
*/
|
|
37
|
-
declare function createCompatibleEventListener(eventNames:
|
|
38
|
-
declare function createCompatibleEventListener(eventNames: string[], prefixes?: string[]): (element: IEventTargetLike, listener: (event?: Event) => void, cancelSignal: CancellationSignal) => void;
|
|
36
|
+
declare function createCompatibleEventListener(eventNames: string[], prefixes?: string[]): (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
39
37
|
/**
|
|
40
38
|
* Get video width from Picture-in-Picture window
|
|
41
39
|
* @param {HTMLMediaElement} mediaElement
|
|
@@ -90,77 +88,77 @@ declare function getElementResolutionRef(mediaElement: IMediaElement, pipStatusR
|
|
|
90
88
|
/**
|
|
91
89
|
* @param {HTMLMediaElement} mediaElement
|
|
92
90
|
*/
|
|
93
|
-
declare const onLoadedMetadata: (element: IEventTargetLike, listener: (event?:
|
|
91
|
+
declare const onLoadedMetadata: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
94
92
|
/**
|
|
95
93
|
* @param {HTMLMediaElement} mediaElement
|
|
96
94
|
*/
|
|
97
|
-
declare const onTimeUpdate: (element: IEventTargetLike, listener: (event?:
|
|
95
|
+
declare const onTimeUpdate: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
98
96
|
/**
|
|
99
97
|
* @param {TextTrackList} mediaElement
|
|
100
98
|
*/
|
|
101
|
-
declare const onTextTrackAdded: (element: IEventTargetLike, listener: (event?:
|
|
99
|
+
declare const onTextTrackAdded: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
102
100
|
/**
|
|
103
101
|
* @param {TextTrackList} textTrackList
|
|
104
102
|
*/
|
|
105
|
-
declare const onTextTrackRemoved: (element: IEventTargetLike, listener: (event?:
|
|
103
|
+
declare const onTextTrackRemoved: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
106
104
|
/**
|
|
107
105
|
* @param {MediaSource} mediaSource
|
|
108
106
|
* @param {Function} listener
|
|
109
107
|
* @param {Object} cancelSignal
|
|
110
108
|
*/
|
|
111
|
-
declare const onSourceOpen: (element: IEventTargetLike, listener: (event?:
|
|
109
|
+
declare const onSourceOpen: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
112
110
|
/**
|
|
113
111
|
* @param {MediaSource} mediaSource
|
|
114
112
|
* @param {Function} listener
|
|
115
113
|
* @param {Object} cancelSignal
|
|
116
114
|
*/
|
|
117
|
-
declare const onSourceClose: (element: IEventTargetLike, listener: (event?:
|
|
115
|
+
declare const onSourceClose: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
118
116
|
/**
|
|
119
117
|
* @param {MediaSource} mediaSource
|
|
120
118
|
* @param {Function} listener
|
|
121
119
|
* @param {Object} cancelSignal
|
|
122
120
|
*/
|
|
123
|
-
declare const onSourceEnded: (element: IEventTargetLike, listener: (event?:
|
|
121
|
+
declare const onSourceEnded: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
124
122
|
/**
|
|
125
123
|
* @param {MediaSource} mediaSource
|
|
126
124
|
* @param {Function} listener
|
|
127
125
|
* @param {Object} cancelSignal
|
|
128
126
|
*/
|
|
129
|
-
declare const onSourceBufferUpdate: (element: IEventTargetLike, listener: (event?:
|
|
127
|
+
declare const onSourceBufferUpdate: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
130
128
|
/**
|
|
131
129
|
* @param {SourceBufferList} sourceBuffers
|
|
132
130
|
* @param {Function} listener
|
|
133
131
|
* @param {Object} cancelSignal
|
|
134
132
|
*/
|
|
135
|
-
declare const onRemoveSourceBuffers: (element: IEventTargetLike, listener: (event?:
|
|
133
|
+
declare const onRemoveSourceBuffers: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
136
134
|
/**
|
|
137
135
|
* @param {MediaKeySession} mediaKeySession
|
|
138
136
|
*/
|
|
139
|
-
declare const onKeyMessage: (element: IEventTargetLike, listener: (event?:
|
|
137
|
+
declare const onKeyMessage: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
140
138
|
/**
|
|
141
139
|
* @param {MediaKeySession} mediaKeySession
|
|
142
140
|
*/
|
|
143
|
-
declare const onKeyAdded: (element: IEventTargetLike, listener: (event?:
|
|
141
|
+
declare const onKeyAdded: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
144
142
|
/**
|
|
145
143
|
* @param {MediaKeySession} mediaKeySession
|
|
146
144
|
*/
|
|
147
|
-
declare const onKeyError: (element: IEventTargetLike, listener: (event?:
|
|
145
|
+
declare const onKeyError: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
148
146
|
/**
|
|
149
147
|
* @param {MediaKeySession} mediaKeySession
|
|
150
148
|
*/
|
|
151
|
-
declare const onKeyStatusesChange: (element: IEventTargetLike, listener: (event?:
|
|
149
|
+
declare const onKeyStatusesChange: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
152
150
|
/**
|
|
153
151
|
* @param {HTMLMediaElement} mediaElement
|
|
154
152
|
*/
|
|
155
|
-
declare const onSeeking: (element: IEventTargetLike, listener: (event?:
|
|
153
|
+
declare const onSeeking: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
156
154
|
/**
|
|
157
155
|
* @param {HTMLMediaElement} mediaElement
|
|
158
156
|
*/
|
|
159
|
-
declare const onSeeked: (element: IEventTargetLike, listener: (event?:
|
|
157
|
+
declare const onSeeked: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
160
158
|
/**
|
|
161
159
|
* @param {HTMLMediaElement} mediaElement
|
|
162
160
|
*/
|
|
163
|
-
declare const onEnded: (element: IEventTargetLike, listener: (event?:
|
|
161
|
+
declare const onEnded: (element: IEventTargetLike, listener: (event?: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
164
162
|
/**
|
|
165
163
|
* Utilitary function allowing to add an event listener and remove it
|
|
166
164
|
* automatically once the given `CancellationSignal` emits.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_listeners.d.ts","sourceRoot":"","sources":["../../../src/compat/event_listeners.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAEV,6BAA6B,EAC7B,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"event_listeners.d.ts","sourceRoot":"","sources":["../../../src/compat/event_listeners.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,17 @@ function eventPrefixed(eventNames, prefixes) {
|
|
|
67
67
|
return parent.concat((prefixes === undefined ? BROWSER_PREFIXES : prefixes).map(function (p) { return p + name; }));
|
|
68
68
|
}, []);
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Returns a function allowing to add event listeners for particular event(s)
|
|
72
|
+
* optionally automatically adding browser prefixes if needed.
|
|
73
|
+
* @param {Array.<string>} eventNames - The event(s) to listen to. If multiple
|
|
74
|
+
* events are set, the event listener will be triggered when any of them emits.
|
|
75
|
+
* @param {Array.<string>|undefined} [prefixes] - Optional vendor prefixes with
|
|
76
|
+
* which the event might also be sent. If not defined, default prefixes might be
|
|
77
|
+
* tested.
|
|
78
|
+
* @returns {Function} - Returns function allowing to easily add a callback to
|
|
79
|
+
* be triggered when that event is emitted on a given event target.
|
|
80
|
+
*/
|
|
70
81
|
function createCompatibleEventListener(eventNames, prefixes) {
|
|
71
82
|
var mem;
|
|
72
83
|
var prefixedEvents = eventPrefixed(eventNames, prefixes);
|
|
@@ -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.
|
|
163
|
+
_this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024081301";
|
|
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.
|
|
2631
|
+
Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024081301";
|
|
2632
2632
|
exports.default = Player;
|
|
@@ -164,14 +164,6 @@ export default class ContentDecryptor extends EventEmitter<IContentDecryptorEven
|
|
|
164
164
|
*/
|
|
165
165
|
private _processInitializationData;
|
|
166
166
|
private _tryToUseAlreadyCreatedSession;
|
|
167
|
-
/**
|
|
168
|
-
* Remove the session corresponding to the initData provided, and close it.
|
|
169
|
-
* It does nothing if no session was found for this initData.
|
|
170
|
-
* @param {Object} initData : The initialization data corresponding to the session
|
|
171
|
-
* that need to be removed
|
|
172
|
-
* @param {Object} mediaKeysData : The media keys data
|
|
173
|
-
*/
|
|
174
|
-
private removeSessionForInitData;
|
|
175
167
|
/**
|
|
176
168
|
* Callback that should be called if an error that made the current
|
|
177
169
|
* `ContentDecryptor` instance unusable arised.
|
|
@@ -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;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;
|
|
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;IA0HtC;;;;;;;;;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"}
|
|
@@ -668,20 +668,6 @@ var ContentDecryptor = /** @class */ (function (_super) {
|
|
|
668
668
|
if (compatibleSessionInfo === undefined) {
|
|
669
669
|
return false;
|
|
670
670
|
}
|
|
671
|
-
/**
|
|
672
|
-
* On Safari using Directfile, the old EME implementation triggers
|
|
673
|
-
* the "webkitneedkey" event instead of "encrypted". There's an issue in Safari
|
|
674
|
-
* where "webkitneedkey" fires too early before all tracks are added from an HLS playlist.
|
|
675
|
-
* Safari incorrectly assumes some keys are missing for these tracks,
|
|
676
|
-
* leading to repeated "webkitneedkey" events. Because RxPlayer recognizes
|
|
677
|
-
* it already has a session for these keys and ignores the events,
|
|
678
|
-
* the content remains frozen. To resolve this, the session is re-created.
|
|
679
|
-
*/
|
|
680
|
-
var forceSessionRecreation = initializationData.forceSessionRecreation;
|
|
681
|
-
if (forceSessionRecreation === true) {
|
|
682
|
-
this.removeSessionForInitData(initializationData, mediaKeysData);
|
|
683
|
-
return false;
|
|
684
|
-
}
|
|
685
671
|
// Check if the compatible session is blacklisted
|
|
686
672
|
var blacklistedSessionError = compatibleSessionInfo.blacklistedSessionError;
|
|
687
673
|
if (!(0, is_null_or_undefined_1.default)(blacklistedSessionError)) {
|
|
@@ -765,41 +751,6 @@ var ContentDecryptor = /** @class */ (function (_super) {
|
|
|
765
751
|
}
|
|
766
752
|
return false;
|
|
767
753
|
};
|
|
768
|
-
/**
|
|
769
|
-
* Remove the session corresponding to the initData provided, and close it.
|
|
770
|
-
* It does nothing if no session was found for this initData.
|
|
771
|
-
* @param {Object} initData : The initialization data corresponding to the session
|
|
772
|
-
* that need to be removed
|
|
773
|
-
* @param {Object} mediaKeysData : The media keys data
|
|
774
|
-
*/
|
|
775
|
-
ContentDecryptor.prototype.removeSessionForInitData = function (initData, mediaKeysData) {
|
|
776
|
-
var stores = mediaKeysData.stores;
|
|
777
|
-
/** Remove the session and close it from the loadedSessionStore */
|
|
778
|
-
var entry = stores.loadedSessionsStore.reuse(initData);
|
|
779
|
-
if (entry !== null) {
|
|
780
|
-
stores.loadedSessionsStore
|
|
781
|
-
.closeSession(entry.mediaKeySession)
|
|
782
|
-
.catch(function () {
|
|
783
|
-
return log_1.default.error("DRM: Cannot close the session from the loaded session store");
|
|
784
|
-
});
|
|
785
|
-
}
|
|
786
|
-
/**
|
|
787
|
-
* If set, a currently-used key session is already compatible to this
|
|
788
|
-
* initialization data.
|
|
789
|
-
*/
|
|
790
|
-
var compatibleSessionInfo = (0, array_find_1.default)(this._currentSessions, function (x) {
|
|
791
|
-
return x.record.isCompatibleWith(initData);
|
|
792
|
-
});
|
|
793
|
-
if (compatibleSessionInfo === undefined) {
|
|
794
|
-
return;
|
|
795
|
-
}
|
|
796
|
-
/** Remove the session from the currentSessions */
|
|
797
|
-
var indexOf = this._currentSessions.indexOf(compatibleSessionInfo);
|
|
798
|
-
if (indexOf !== -1) {
|
|
799
|
-
log_1.default.debug("DRM: A session from a processed init is removed due to forceSessionRecreation policy.");
|
|
800
|
-
this._currentSessions.splice(indexOf, 1);
|
|
801
|
-
}
|
|
802
|
-
};
|
|
803
754
|
/**
|
|
804
755
|
* Callback that should be called if an error that made the current
|
|
805
756
|
* `ContentDecryptor` instance unusable arised.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find_key_system.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/find_key_system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAUpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAKrE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD;;;OAGG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B,oFAAoF;IACpF,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,+BAA+B,CAAC;IACtC,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,gCAAgC,CAAC;IACvC,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,MAAM,+BAA+B,GACvC,+BAA+B,GAC/B,gCAAgC,CAAC;
|
|
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"}
|
|
@@ -277,6 +277,27 @@ function buildKeySystemConfigurations(keySystemTypeInfo) {
|
|
|
277
277
|
persistentState: persistentState,
|
|
278
278
|
sessionTypes: sessionTypes,
|
|
279
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
|
+
}
|
|
280
301
|
return [
|
|
281
302
|
wantedMediaKeySystemConfiguration,
|
|
282
303
|
// Some legacy implementations have issues with `audioCapabilities` and
|
|
@@ -105,7 +105,6 @@ export interface IProtectionData {
|
|
|
105
105
|
content?: IContent;
|
|
106
106
|
/** Every initialization data for that type. */
|
|
107
107
|
values: IInitDataValue[];
|
|
108
|
-
forceSessionRecreation?: boolean | undefined;
|
|
109
108
|
}
|
|
110
109
|
/** Protection initialization data actually processed by the `ContentDecryptor`. */
|
|
111
110
|
export interface IProcessedProtectionData extends Omit<IProtectionData, "values"> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,uBAAuB,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,uBAAuB,MAAM,mCAAmC,CAAC;AAE7E,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;;;OAIG;IACH,WAAW,EAAE,qBAAqB,CAAC;IAEnC,uBAAuB,EAAE,wBAAwB,CAAC;IAElD,yBAAyB,EAAE;QACzB,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAChC,iBAAiB,EAAE,UAAU,EAAE,CAAC;QAChC,cAAc,EAAE,UAAU,EAAE,CAAC;KAC9B,CAAC;CACH;AAED,2EAA2E;AAC3E,oBAAY,qBAAqB;IAC/B;;;;OAIG;IACH,YAAY,IAAA;IAEZ;;;;;;;;;;;;;OAaG;IACH,oBAAoB,IAAA;IAEpB;;;;;;OAMG;IACH,eAAe,IAAA;IAEf;;;OAGG;IACH,KAAK,IAAA;IAEL,uEAAuE;IACvE,QAAQ,IAAA;CACT;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAClC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,+CAA+C;IAC/C,MAAM,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,4 @@ export interface ICustomMediaKeyStatusMap {
|
|
|
42
42
|
export interface IMediaKeySessionEvents {
|
|
43
43
|
[key: string]: MediaKeyMessageEvent | Event;
|
|
44
44
|
}
|
|
45
|
-
export interface ICustomMediaEncryptedEvent extends MediaEncryptedEvent {
|
|
46
|
-
forceSessionRecreation?: boolean | undefined;
|
|
47
|
-
}
|
|
48
45
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/compat/eme/custom_media_keys/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,sBAAuB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;IAEnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,wBAAwB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAI3C,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,aAAa,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,sBAAsB,CAAC;IACzE,oBAAoB,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,KAAK,CAAC;CAO7C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/compat/eme/custom_media_keys/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,sBAAuB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;IAEnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,wBAAwB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAI3C,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,aAAa,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,sBAAsB,CAAC;IACzE,oBAAoB,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,KAAK,CAAC;CAO7C"}
|
|
@@ -2,7 +2,7 @@ import type { CancellationSignal } from "../../utils/task_canceller";
|
|
|
2
2
|
import type { IMediaElement } from "../browser_compatibility_types";
|
|
3
3
|
import type { IEventTargetLike } from "../event_listeners";
|
|
4
4
|
import CustomMediaKeySystemAccess from "./custom_key_system_access";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ICustomMediaKeys } from "./custom_media_keys/types";
|
|
6
6
|
/**
|
|
7
7
|
* Automatically detect and set which EME implementation should be used in the
|
|
8
8
|
* current platform.
|
|
@@ -35,7 +35,7 @@ export interface IEmeApiImplementation {
|
|
|
35
35
|
* @param {Object} cancelSignal - The event listener will be removed once that
|
|
36
36
|
* `CancellationSignal` emits.
|
|
37
37
|
*/
|
|
38
|
-
onEncrypted: (target: IEventTargetLike, listener: (evt:
|
|
38
|
+
onEncrypted: (target: IEventTargetLike, listener: (evt: unknown) => void, cancelSignal: CancellationSignal) => void;
|
|
39
39
|
/**
|
|
40
40
|
* API allowing to attach a `MediaKeys` instance (or an `ICustomMediaKeys`) to
|
|
41
41
|
* the HTMLMediaElement so it can start decoding.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eme-api-implementation.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/eme-api-implementation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eme-api-implementation.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/eme-api-implementation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,0BAA0B,MAAM,4BAA4B,CAAC;AAUpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;;;GAKG;AACH,QAAA,MAAM,wBAAwB,uBAAkC,CAAC;AAEjE,eAAe,wBAAwB,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,2BAA2B,EAAE,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,2BAA2B,EAAE,KAClC,OAAO,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,CAAC;IAEhE;;;;;;;;;OASG;IACH,WAAW,EAAE,CACX,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EAChC,YAAY,EAAE,kBAAkB,KAC7B,IAAI,CAAC;IAEV;;;;;;;;OAQG;IACH,YAAY,EAAE,CACZ,YAAY,EAAE,aAAa,EAC3B,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,KAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,cAAc,EAAE,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;CACnF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC"}
|
|
@@ -3,7 +3,6 @@ import assert from "../../utils/assert";
|
|
|
3
3
|
import globalScope from "../../utils/global_scope";
|
|
4
4
|
import isNode from "../../utils/is_node";
|
|
5
5
|
import isNullOrUndefined from "../../utils/is_null_or_undefined";
|
|
6
|
-
import objectAssign from "../../utils/object_assign";
|
|
7
6
|
import { isIE11 } from "../browser_detection";
|
|
8
7
|
import { createCompatibleEventListener } from "../event_listeners";
|
|
9
8
|
import shouldFavourCustomSafariEME from "../should_favour_custom_safari_EME";
|
|
@@ -46,8 +45,8 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
46
45
|
let isTypeSupported;
|
|
47
46
|
let createCustomMediaKeys;
|
|
48
47
|
if (preferredApiType === "webkit" && WebKitMediaKeysConstructor !== undefined) {
|
|
48
|
+
onEncrypted = createCompatibleEventListener(["needkey"]);
|
|
49
49
|
const callbacks = getWebKitMediaKeysCallbacks();
|
|
50
|
-
onEncrypted = createOnEncryptedForWebkit();
|
|
51
50
|
isTypeSupported = callbacks.isTypeSupported;
|
|
52
51
|
createCustomMediaKeys = callbacks.createCustomMediaKeys;
|
|
53
52
|
setMediaKeys = callbacks.setMediaKeys;
|
|
@@ -65,7 +64,7 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
65
64
|
// This is for WebKit with prefixed EME api
|
|
66
65
|
}
|
|
67
66
|
else if (WebKitMediaKeysConstructor !== undefined) {
|
|
68
|
-
onEncrypted =
|
|
67
|
+
onEncrypted = createCompatibleEventListener(["needkey"]);
|
|
69
68
|
const callbacks = getWebKitMediaKeysCallbacks();
|
|
70
69
|
isTypeSupported = callbacks.isTypeSupported;
|
|
71
70
|
createCustomMediaKeys = callbacks.createCustomMediaKeys;
|
|
@@ -156,20 +155,6 @@ function getEmeApiImplementation(preferredApiType) {
|
|
|
156
155
|
implementation,
|
|
157
156
|
};
|
|
158
157
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Create an event listener for the "webkitneedkey" event
|
|
161
|
-
* @returns
|
|
162
|
-
*/
|
|
163
|
-
function createOnEncryptedForWebkit() {
|
|
164
|
-
const compatibleEventListener = createCompatibleEventListener(["needkey"], undefined /* prefixes */);
|
|
165
|
-
const onEncrypted = (target, listener, cancelSignal) => {
|
|
166
|
-
compatibleEventListener(target, (event) => {
|
|
167
|
-
const patchedEvent = objectAssign({ forceSessionRecreation: true }, event);
|
|
168
|
-
listener(patchedEvent);
|
|
169
|
-
}, cancelSignal);
|
|
170
|
-
};
|
|
171
|
-
return onEncrypted;
|
|
172
|
-
}
|
|
173
158
|
/**
|
|
174
159
|
* Set the given MediaKeys on the given HTMLMediaElement.
|
|
175
160
|
* Emits null when done then complete.
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { ICustomMediaEncryptedEvent } from "./custom_media_keys/types";
|
|
17
16
|
/** Data recuperated from parsing the payload of an `encrypted` event. */
|
|
18
17
|
export interface IEncryptedEventData {
|
|
19
18
|
/**
|
|
@@ -43,7 +42,6 @@ export interface IEncryptedEventData {
|
|
|
43
42
|
*/
|
|
44
43
|
data: Uint8Array;
|
|
45
44
|
}>;
|
|
46
|
-
forceSessionRecreation?: boolean | undefined;
|
|
47
45
|
}
|
|
48
46
|
/**
|
|
49
47
|
* Take out the two things we need on an encryptedEvent:
|
|
@@ -56,5 +54,5 @@ export interface IEncryptedEventData {
|
|
|
56
54
|
* @throws {EncryptedMediaError} - Throws if no initialization data is
|
|
57
55
|
* encountered in the given event.
|
|
58
56
|
*/
|
|
59
|
-
export default function getInitData(encryptedEvent:
|
|
57
|
+
export default function getInitData(encryptedEvent: MediaEncryptedEvent): IEncryptedEventData | null;
|
|
60
58
|
//# sourceMappingURL=get_init_data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_init_data.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/get_init_data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"get_init_data.d.ts","sourceRoot":"","sources":["../../../../src/compat/eme/get_init_data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,+CAA+C;IAC/C,MAAM,EAAE,KAAK,CAAC;QACZ;;;;;;;WAOG;QACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC,CAAC;CACJ;AAmFD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,cAAc,EAAE,mBAAmB,GAClC,mBAAmB,GAAG,IAAI,CAU5B"}
|