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

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 (60) hide show
  1. package/VERSION +1 -1
  2. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  4. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts +0 -3
  5. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts.map +1 -1
  6. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +2 -2
  7. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts.map +1 -1
  8. package/dist/commonjs/compat/eme/eme-api-implementation.js +2 -17
  9. package/dist/commonjs/compat/eme/get_init_data.d.ts +1 -3
  10. package/dist/commonjs/compat/eme/get_init_data.d.ts.map +1 -1
  11. package/dist/commonjs/compat/eme/get_init_data.js +2 -2
  12. package/dist/commonjs/compat/event_listeners.d.ts +19 -21
  13. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  14. package/dist/commonjs/compat/event_listeners.js +11 -0
  15. package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  16. package/dist/commonjs/core/segment_sinks/segment_buffers_store.js +5 -2
  17. package/dist/commonjs/main_thread/api/public_api.js +2 -2
  18. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts +0 -8
  19. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  20. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +0 -49
  21. package/dist/commonjs/main_thread/decrypt/types.d.ts +0 -1
  22. package/dist/commonjs/main_thread/decrypt/types.d.ts.map +1 -1
  23. package/dist/commonjs/utils/are_codecs_compatible.d.ts.map +1 -1
  24. package/dist/commonjs/utils/are_codecs_compatible.js +5 -1
  25. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  26. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  27. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts +0 -3
  28. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts.map +1 -1
  29. package/dist/es2017/compat/eme/eme-api-implementation.d.ts +2 -2
  30. package/dist/es2017/compat/eme/eme-api-implementation.d.ts.map +1 -1
  31. package/dist/es2017/compat/eme/eme-api-implementation.js +2 -17
  32. package/dist/es2017/compat/eme/get_init_data.d.ts +1 -3
  33. package/dist/es2017/compat/eme/get_init_data.d.ts.map +1 -1
  34. package/dist/es2017/compat/eme/get_init_data.js +2 -2
  35. package/dist/es2017/compat/event_listeners.d.ts +19 -21
  36. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  37. package/dist/es2017/compat/event_listeners.js +11 -0
  38. package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
  39. package/dist/es2017/core/segment_sinks/segment_buffers_store.js +5 -2
  40. package/dist/es2017/main_thread/api/public_api.js +2 -2
  41. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts +0 -8
  42. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  43. package/dist/es2017/main_thread/decrypt/content_decryptor.js +0 -45
  44. package/dist/es2017/main_thread/decrypt/types.d.ts +0 -1
  45. package/dist/es2017/main_thread/decrypt/types.d.ts.map +1 -1
  46. package/dist/es2017/utils/are_codecs_compatible.d.ts.map +1 -1
  47. package/dist/es2017/utils/are_codecs_compatible.js +5 -1
  48. package/dist/rx-player.js +18 -18
  49. package/dist/worker.js +4 -4
  50. package/package.json +1 -1
  51. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  52. package/src/compat/eme/custom_media_keys/types.ts +0 -4
  53. package/src/compat/eme/eme-api-implementation.ts +4 -36
  54. package/src/compat/eme/get_init_data.ts +3 -5
  55. package/src/compat/event_listeners.ts +5 -30
  56. package/src/core/segment_sinks/segment_buffers_store.ts +5 -2
  57. package/src/main_thread/api/public_api.ts +2 -2
  58. package/src/main_thread/decrypt/content_decryptor.ts +1 -58
  59. package/src/main_thread/decrypt/types.ts +0 -2
  60. package/src/utils/are_codecs_compatible.ts +5 -1
@@ -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;AAED,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C"}
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 { ICustomMediaEncryptedEvent, ICustomMediaKeys } from "./custom_media_keys/types";
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: ICustomMediaEncryptedEvent) => void, cancelSignal: CancellationSignal) => void;
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":"AAMA,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,EACV,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAInC;;;;;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,0BAA0B,KAAK,IAAI,EACnD,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"}
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 = createOnEncryptedForWebkit();
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: ICustomMediaEncryptedEvent): IEncryptedEventData | null;
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;AAQH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,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;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAmFD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,cAAc,EAAE,0BAA0B,GACzC,mBAAmB,GAAG,IAAI,CAU5B"}
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"}
@@ -99,12 +99,12 @@ function isPSSHAlreadyEncountered(encounteredPSSHs, pssh) {
99
99
  * encountered in the given event.
100
100
  */
101
101
  export default function getInitData(encryptedEvent) {
102
- const { initData, initDataType, forceSessionRecreation } = encryptedEvent;
102
+ const { initData, initDataType } = encryptedEvent;
103
103
  if (isNullOrUndefined(initData)) {
104
104
  log.warn("Compat: No init data found on media encrypted event.");
105
105
  return null;
106
106
  }
107
107
  const initDataBytes = new Uint8Array(initData);
108
108
  const values = getInitializationDataValues(initDataBytes);
109
- return { type: initDataType, values, forceSessionRecreation };
109
+ return { type: initDataType, values };
110
110
  }
@@ -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: EventListenerOrEventListenerObject) => void;
23
- removeEventListener: (eventName: string, handler: EventListenerOrEventListenerObject) => void;
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: Array<"needkey" | "encrypted">, prefixes?: string[]): (element: IEventTargetLike, listener: (event: ICustomMediaEncryptedEvent) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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?: Event) => void, cancelSignal: CancellationSignal) => void;
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":"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"}
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;AAoDvC,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACnE,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAExF;;;;;;;;;;GAUG;AACH,iBAAS,6BAA6B,CACpC,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,CACD,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,EACnC,YAAY,EAAE,kBAAkB,KAC7B,IAAI,CA+DR;AA+CD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,6BAA6B,GAAG,IAAI,CAAC;CACjD;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,kBAAkB,GAChC,wBAAwB,CAAC,sBAAsB,CAAC,CAyDlD;AAED;;;;;;;;;GASG;AACH,iBAAS,qBAAqB,CAC5B,SAAS,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,EAC3D,aAAa,EAAE,kBAAkB,GAChC,wBAAwB,CAAC,OAAO,CAAC,CA4BnC;AAED;;;;GAIG;AACH,iBAAS,sBAAsB,CAC7B,aAAa,EAAE,kBAAkB,GAChC,wBAAwB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAgCD;AAED;;;;;;;GAOG;AACH,iBAAS,uBAAuB,CAC9B,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,EAC9D,aAAa,EAAE,kBAAkB,GAChC,wBAAwB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CA8FD;AAED;;GAEG;AACH,QAAA,MAAM,gBAAgB,YA3YX,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAwYqE,CAAC;AAE3E;;GAEG;AACH,QAAA,MAAM,YAAY,YAhZP,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA6Y6D,CAAC;AAEnE;;GAEG;AACH,QAAA,MAAM,gBAAgB,YArZX,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAkZ+D,CAAC;AAErE;;GAEG;AACH,QAAA,MAAM,kBAAkB,YA1Zb,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAuZoE,CAAC;AAE1E;;;;GAIG;AACH,QAAA,MAAM,YAAY,YAjaP,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA8ZiF,CAAC;AAEvF;;;;GAIG;AACH,QAAA,MAAM,aAAa,YAxaR,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAqaoF,CAAC;AAE1F;;;;GAIG;AACH,QAAA,MAAM,aAAa,YA/aR,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA4aoF,CAAC;AAE1F;;;;GAIG;AACH,QAAA,MAAM,oBAAoB,YAtbf,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAmbiE,CAAC;AAEvE;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,YA7bhB,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA0b8E,CAAC;AAEpF;;GAEG;AACH,QAAA,MAAM,YAAY,YAlcP,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA+bwE,CAAC;AAE9E;;GAEG;AACH,QAAA,MAAM,UAAU,YAvcL,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAockE,CAAC;AAExE;;GAEG;AACH,QAAA,MAAM,UAAU,YA5cL,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAyckE,CAAC;AAExE;;GAEG;AACH,QAAA,MAAM,mBAAmB,YAjdd,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA8c2E,CAAC;AAEjF;;GAEG;AACH,QAAA,MAAM,SAAS,YAtdJ,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAmduD,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,QAAQ,YA3dH,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IAwdqD,CAAC;AAE3D;;GAEG;AACH,QAAA,MAAM,OAAO,YAheF,gBAAgB,YACf,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,gBACrB,kBAAkB,KAC7B,IA6dmD,CAAC;AAEzD;;;;;;;;;GASG;AACH,iBAAS,gBAAgB,CACvB,GAAG,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAC5D,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EAC/B,aAAa,EAAE,kBAAkB,GAChC,IAAI,CAKN;AAED,OAAO,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC"}
@@ -56,6 +56,17 @@ function findSupportedEvent(element, eventNames) {
56
56
  function eventPrefixed(eventNames, prefixes) {
57
57
  return eventNames.reduce((parent, name) => parent.concat((prefixes === undefined ? BROWSER_PREFIXES : prefixes).map((p) => p + name)), []);
58
58
  }
59
+ /**
60
+ * Returns a function allowing to add event listeners for particular event(s)
61
+ * optionally automatically adding browser prefixes if needed.
62
+ * @param {Array.<string>} eventNames - The event(s) to listen to. If multiple
63
+ * events are set, the event listener will be triggered when any of them emits.
64
+ * @param {Array.<string>|undefined} [prefixes] - Optional vendor prefixes with
65
+ * which the event might also be sent. If not defined, default prefixes might be
66
+ * tested.
67
+ * @returns {Function} - Returns function allowing to easily add a callback to
68
+ * be triggered when that event is emitted on a given event target.
69
+ */
59
70
  function createCompatibleEventListener(eventNames, prefixes) {
60
71
  let mem;
61
72
  const prefixedEvents = eventPrefixed(eventNames, prefixes);
@@ -1 +1 @@
1
- {"version":3,"file":"segment_buffers_store.d.ts","sourceRoot":"","sources":["../../../../src/core/segment_sinks/segment_buffers_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAIvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,0EAA0E;AAC1E,KAAK,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC3E,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7E;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB;IAIzE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAmD;IAEnF;;;;OAIG;IACH,OAAO,CAAC,8BAA8B,CAAoB;IAE1D,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;gBAED,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,uBAAuB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,WAAW,EAAE;IAQtC;;;;OAIG;IACI,oBAAoB,IAAI,WAAW,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,SAAS,CACd,UAAU,EAAE,WAAW,GAErB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAC3C;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,GACzB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;IAWxB;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;;;;;OAMG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAexD;;;;;;;;;;;OAWG;IACI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAuD7E;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAYxD;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IAehC,sBAAsB,IAAI,mBAAmB;CASrD"}
1
+ {"version":3,"file":"segment_buffers_store.d.ts","sourceRoot":"","sources":["../../../../src/core/segment_sinks/segment_buffers_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAKvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,0EAA0E;AAC1E,KAAK,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC3E,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC7E;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB;IAIzE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAmD;IAEnF;;;;OAIG;IACH,OAAO,CAAC,8BAA8B,CAAoB;IAE1D,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;gBAED,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,uBAAuB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,WAAW,EAAE;IAQtC;;;;OAIG;IACI,oBAAoB,IAAI,WAAW,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,SAAS,CACd,UAAU,EAAE,WAAW,GAErB;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAC3C;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,GACzB;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;IAWxB;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhF;;;;;;OAMG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAgBxD;;;;;;;;;;;OAWG;IACI,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAwD7E;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAYxD;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,+BAA+B;IAehC,sBAAsB,IAAI,mBAAmB;CASrD"}
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import { MediaError } from "../../errors";
17
17
  import log from "../../log";
18
+ import assert from "../../utils/assert";
18
19
  import createCancellablePromise from "../../utils/create_cancellable_promise";
19
20
  import isNullOrUndefined from "../../utils/is_null_or_undefined";
20
21
  import { AudioVideoSegmentSink } from "./implementations";
@@ -174,7 +175,8 @@ export default class SegmentSinksStore {
174
175
  }
175
176
  this._initializedSegmentSinks[bufferType] = null;
176
177
  if (SegmentSinksStore.isNative(bufferType)) {
177
- this._onNativeBufferAddedOrDisabled.forEach((cb) => cb());
178
+ this._onNativeBufferAddedOrDisabled.slice().forEach((cb) => cb());
179
+ assert(this._onNativeBufferAddedOrDisabled.length === 0);
178
180
  }
179
181
  }
180
182
  /**
@@ -206,7 +208,8 @@ export default class SegmentSinksStore {
206
208
  const sourceBufferType = bufferType === "audio" ? "audio" /* SourceBufferType.Audio */ : "video" /* SourceBufferType.Video */;
207
209
  const nativeSegmentSink = new AudioVideoSegmentSink(sourceBufferType, codec, this._mediaSource);
208
210
  this._initializedSegmentSinks[bufferType] = nativeSegmentSink;
209
- this._onNativeBufferAddedOrDisabled.forEach((cb) => cb());
211
+ this._onNativeBufferAddedOrDisabled.slice().forEach((cb) => cb());
212
+ assert(this._onNativeBufferAddedOrDisabled.length === 0);
210
213
  return nativeSegmentSink;
211
214
  }
212
215
  if (!isNullOrUndefined(memorizedSegmentSink)) {
@@ -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.2024081300";
145
+ this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024081400";
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.2024081300";
2413
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024081400";
2414
2414
  export 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;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;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"}
@@ -509,20 +509,6 @@ export default class ContentDecryptor extends EventEmitter {
509
509
  if (compatibleSessionInfo === undefined) {
510
510
  return false;
511
511
  }
512
- /**
513
- * On Safari using Directfile, the old EME implementation triggers
514
- * the "webkitneedkey" event instead of "encrypted". There's an issue in Safari
515
- * where "webkitneedkey" fires too early before all tracks are added from an HLS playlist.
516
- * Safari incorrectly assumes some keys are missing for these tracks,
517
- * leading to repeated "webkitneedkey" events. Because RxPlayer recognizes
518
- * it already has a session for these keys and ignores the events,
519
- * the content remains frozen. To resolve this, the session is re-created.
520
- */
521
- const forceSessionRecreation = initializationData.forceSessionRecreation;
522
- if (forceSessionRecreation === true) {
523
- this.removeSessionForInitData(initializationData, mediaKeysData);
524
- return false;
525
- }
526
512
  // Check if the compatible session is blacklisted
527
513
  const blacklistedSessionError = compatibleSessionInfo.blacklistedSessionError;
528
514
  if (!isNullOrUndefined(blacklistedSessionError)) {
@@ -606,37 +592,6 @@ export default class ContentDecryptor extends EventEmitter {
606
592
  }
607
593
  return false;
608
594
  }
609
- /**
610
- * Remove the session corresponding to the initData provided, and close it.
611
- * It does nothing if no session was found for this initData.
612
- * @param {Object} initData : The initialization data corresponding to the session
613
- * that need to be removed
614
- * @param {Object} mediaKeysData : The media keys data
615
- */
616
- removeSessionForInitData(initData, mediaKeysData) {
617
- const { stores } = mediaKeysData;
618
- /** Remove the session and close it from the loadedSessionStore */
619
- const entry = stores.loadedSessionsStore.reuse(initData);
620
- if (entry !== null) {
621
- stores.loadedSessionsStore
622
- .closeSession(entry.mediaKeySession)
623
- .catch(() => log.error("DRM: Cannot close the session from the loaded session store"));
624
- }
625
- /**
626
- * If set, a currently-used key session is already compatible to this
627
- * initialization data.
628
- */
629
- const compatibleSessionInfo = arrayFind(this._currentSessions, (x) => x.record.isCompatibleWith(initData));
630
- if (compatibleSessionInfo === undefined) {
631
- return;
632
- }
633
- /** Remove the session from the currentSessions */
634
- const indexOf = this._currentSessions.indexOf(compatibleSessionInfo);
635
- if (indexOf !== -1) {
636
- log.debug("DRM: A session from a processed init is removed due to forceSessionRecreation policy.");
637
- this._currentSessions.splice(indexOf, 1);
638
- }
639
- }
640
595
  /**
641
596
  * Callback that should be called if an error that made the current
642
597
  * `ContentDecryptor` instance unusable arised.
@@ -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":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"are_codecs_compatible.d.ts","sourceRoot":"","sources":["../../../src/utils/are_codecs_compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;;;;GAOG;AACH,iBAAS,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAc1D;AAID,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAWtF;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"are_codecs_compatible.d.ts","sourceRoot":"","sources":["../../../src/utils/are_codecs_compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;;;;GAOG;AACH,iBAAS,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAkB1D;AAID,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAWtF;AAED,eAAe,mBAAmB,CAAC"}
@@ -32,7 +32,11 @@ function areCodecsCompatible(a, b) {
32
32
  if (codecsA === "" || codecsB === "") {
33
33
  return false;
34
34
  }
35
- if (codecsA.split(".")[0] !== codecsB.split(".")[0]) {
35
+ let initialPartA = codecsA.split(".")[0];
36
+ initialPartA = initialPartA === "hev1" ? "hvc1" : initialPartA;
37
+ let initialPartB = codecsB.split(".")[0];
38
+ initialPartB = initialPartB === "hev1" ? "hvc1" : initialPartB;
39
+ if (initialPartA !== initialPartB) {
36
40
  return false;
37
41
  }
38
42
  return true;