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

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 (137) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  5. package/dist/commonjs/compat/browser_detection.d.ts +3 -1
  6. package/dist/commonjs/compat/browser_detection.d.ts.map +1 -1
  7. package/dist/commonjs/compat/browser_detection.js +8 -1
  8. package/dist/commonjs/compat/can_reuse_media_keys.d.ts +2 -0
  9. package/dist/commonjs/compat/can_reuse_media_keys.d.ts.map +1 -1
  10. package/dist/commonjs/compat/can_reuse_media_keys.js +3 -1
  11. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts +3 -0
  12. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts.map +1 -1
  13. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts +1 -1
  14. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  15. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +2 -2
  16. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts.map +1 -1
  17. package/dist/commonjs/compat/eme/eme-api-implementation.js +19 -2
  18. package/dist/commonjs/compat/eme/get_init_data.d.ts +3 -1
  19. package/dist/commonjs/compat/eme/get_init_data.d.ts.map +1 -1
  20. package/dist/commonjs/compat/eme/get_init_data.js +2 -2
  21. package/dist/commonjs/compat/event_listeners.d.ts +21 -19
  22. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  23. package/dist/commonjs/compat/event_listeners.js +0 -11
  24. package/dist/commonjs/core/cmcd/cmcd_data_builder.js +1 -1
  25. package/dist/commonjs/core/main/worker/worker_main.js +1 -0
  26. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +8 -5
  27. package/dist/commonjs/main_thread/api/public_api.d.ts +22 -10
  28. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  29. package/dist/commonjs/main_thread/api/public_api.js +68 -28
  30. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts +8 -0
  31. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  32. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +51 -2
  33. package/dist/commonjs/main_thread/decrypt/types.d.ts +5 -0
  34. package/dist/commonjs/main_thread/decrypt/types.d.ts.map +1 -1
  35. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +3 -3
  36. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts +12 -4
  37. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  38. package/dist/commonjs/main_thread/tracks_store/tracks_store.js +18 -8
  39. package/dist/commonjs/manifest/classes/adaptation.d.ts +13 -13
  40. package/dist/commonjs/manifest/classes/adaptation.d.ts.map +1 -1
  41. package/dist/commonjs/manifest/classes/adaptation.js +1 -4
  42. package/dist/commonjs/manifest/classes/representation.d.ts +20 -12
  43. package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
  44. package/dist/commonjs/manifest/classes/representation.js +8 -8
  45. package/dist/commonjs/manifest/utils.d.ts +4 -3
  46. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  47. package/dist/commonjs/manifest/utils.js +13 -7
  48. package/dist/commonjs/parsers/manifest/dash/common/content_protection_parser.js +4 -4
  49. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.js +1 -1
  50. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  51. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +1 -4
  52. package/dist/commonjs/parsers/manifest/types.d.ts +1 -6
  53. package/dist/commonjs/parsers/manifest/types.d.ts.map +1 -1
  54. package/dist/commonjs/public_types.d.ts +69 -0
  55. package/dist/commonjs/public_types.d.ts.map +1 -1
  56. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  57. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  58. package/dist/es2017/compat/browser_detection.d.ts +3 -1
  59. package/dist/es2017/compat/browser_detection.d.ts.map +1 -1
  60. package/dist/es2017/compat/browser_detection.js +7 -1
  61. package/dist/es2017/compat/can_reuse_media_keys.d.ts +2 -0
  62. package/dist/es2017/compat/can_reuse_media_keys.d.ts.map +1 -1
  63. package/dist/es2017/compat/can_reuse_media_keys.js +4 -2
  64. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts +3 -0
  65. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts.map +1 -1
  66. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts +1 -1
  67. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  68. package/dist/es2017/compat/eme/eme-api-implementation.d.ts +2 -2
  69. package/dist/es2017/compat/eme/eme-api-implementation.d.ts.map +1 -1
  70. package/dist/es2017/compat/eme/eme-api-implementation.js +19 -2
  71. package/dist/es2017/compat/eme/get_init_data.d.ts +3 -1
  72. package/dist/es2017/compat/eme/get_init_data.d.ts.map +1 -1
  73. package/dist/es2017/compat/eme/get_init_data.js +2 -2
  74. package/dist/es2017/compat/event_listeners.d.ts +21 -19
  75. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  76. package/dist/es2017/compat/event_listeners.js +0 -11
  77. package/dist/es2017/core/cmcd/cmcd_data_builder.js +1 -1
  78. package/dist/es2017/core/main/worker/worker_main.js +1 -0
  79. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +8 -5
  80. package/dist/es2017/main_thread/api/public_api.d.ts +22 -10
  81. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  82. package/dist/es2017/main_thread/api/public_api.js +64 -24
  83. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts +8 -0
  84. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  85. package/dist/es2017/main_thread/decrypt/content_decryptor.js +47 -2
  86. package/dist/es2017/main_thread/decrypt/types.d.ts +5 -0
  87. package/dist/es2017/main_thread/decrypt/types.d.ts.map +1 -1
  88. package/dist/es2017/main_thread/init/media_source_content_initializer.js +3 -3
  89. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts +12 -4
  90. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  91. package/dist/es2017/main_thread/tracks_store/tracks_store.js +18 -8
  92. package/dist/es2017/manifest/classes/adaptation.d.ts +13 -13
  93. package/dist/es2017/manifest/classes/adaptation.d.ts.map +1 -1
  94. package/dist/es2017/manifest/classes/adaptation.js +1 -1
  95. package/dist/es2017/manifest/classes/representation.d.ts +20 -12
  96. package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
  97. package/dist/es2017/manifest/classes/representation.js +8 -8
  98. package/dist/es2017/manifest/utils.d.ts +4 -3
  99. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  100. package/dist/es2017/manifest/utils.js +13 -7
  101. package/dist/es2017/parsers/manifest/dash/common/content_protection_parser.js +4 -4
  102. package/dist/es2017/parsers/manifest/local/parse_local_manifest.js +1 -1
  103. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  104. package/dist/es2017/parsers/manifest/smooth/create_parser.js +1 -4
  105. package/dist/es2017/parsers/manifest/types.d.ts +1 -6
  106. package/dist/es2017/parsers/manifest/types.d.ts.map +1 -1
  107. package/dist/es2017/public_types.d.ts +69 -0
  108. package/dist/es2017/public_types.d.ts.map +1 -1
  109. package/dist/rx-player.js +18 -18
  110. package/dist/worker.js +5 -5
  111. package/package.json +2 -2
  112. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  113. package/src/compat/__tests__/can_reuse_media_keys.test.ts +33 -2
  114. package/src/compat/browser_detection.ts +9 -0
  115. package/src/compat/can_reuse_media_keys.ts +4 -2
  116. package/src/compat/eme/custom_media_keys/types.ts +4 -0
  117. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +1 -1
  118. package/src/compat/eme/eme-api-implementation.ts +35 -4
  119. package/src/compat/eme/get_init_data.ts +5 -3
  120. package/src/compat/event_listeners.ts +30 -5
  121. package/src/core/cmcd/cmcd_data_builder.ts +1 -1
  122. package/src/core/main/worker/worker_main.ts +1 -0
  123. package/src/core/segment_sinks/inventory/segment_inventory.ts +7 -4
  124. package/src/main_thread/api/public_api.ts +96 -24
  125. package/src/main_thread/decrypt/content_decryptor.ts +60 -3
  126. package/src/main_thread/decrypt/types.ts +5 -0
  127. package/src/main_thread/init/media_source_content_initializer.ts +3 -3
  128. package/src/main_thread/tracks_store/tracks_store.ts +30 -6
  129. package/src/manifest/classes/adaptation.ts +14 -16
  130. package/src/manifest/classes/representation.ts +26 -18
  131. package/src/manifest/utils.ts +14 -6
  132. package/src/parsers/manifest/dash/common/content_protection_parser.ts +4 -4
  133. package/src/parsers/manifest/local/parse_local_manifest.ts +1 -1
  134. package/src/parsers/manifest/smooth/create_parser.ts +2 -6
  135. package/src/parsers/manifest/types.ts +1 -7
  136. package/src/public_types.ts +73 -0
  137. package/vitest.config.mjs +1 -0
@@ -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.2024081400";
163
+ _this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090300";
164
164
  _this.log = log_1.default;
165
165
  _this.state = "STOPPED";
166
166
  _this.videoElement = videoElement;
@@ -1503,19 +1503,28 @@ var Player = /** @class */ (function (_super) {
1503
1503
  /**
1504
1504
  * Returns every available audio tracks for a given Period - or the current
1505
1505
  * one if no `periodId` is given.
1506
- * @param {string|undefined} [periodId]
1506
+ * @param {string|Object|undefined} [arg]
1507
1507
  * @returns {Array.<Object>}
1508
1508
  */
1509
- Player.prototype.getAvailableAudioTracks = function (periodId) {
1510
- var _a;
1509
+ Player.prototype.getAvailableAudioTracks = function (arg) {
1510
+ var _a, _b;
1511
1511
  if (this._priv_contentInfos === null) {
1512
1512
  return [];
1513
1513
  }
1514
- var _b = this._priv_contentInfos, isDirectFile = _b.isDirectFile, mediaElementTracksStore = _b.mediaElementTracksStore;
1514
+ var _c = this._priv_contentInfos, isDirectFile = _c.isDirectFile, mediaElementTracksStore = _c.mediaElementTracksStore;
1515
1515
  if (isDirectFile) {
1516
1516
  return (_a = mediaElementTracksStore === null || mediaElementTracksStore === void 0 ? void 0 : mediaElementTracksStore.getAvailableAudioTracks()) !== null && _a !== void 0 ? _a : [];
1517
1517
  }
1518
- return this._priv_callTracksStoreGetterSetter(periodId, [], function (tcm, periodRef) { var _a; return (_a = tcm.getAvailableAudioTracks(periodRef)) !== null && _a !== void 0 ? _a : []; });
1518
+ var periodId;
1519
+ var filterPlayableRepresentations;
1520
+ if (typeof arg === "string") {
1521
+ periodId = arg;
1522
+ }
1523
+ else {
1524
+ periodId = arg === null || arg === void 0 ? void 0 : arg.periodId;
1525
+ filterPlayableRepresentations = (_b = arg === null || arg === void 0 ? void 0 : arg.filterPlayableRepresentations) !== null && _b !== void 0 ? _b : true;
1526
+ }
1527
+ return this._priv_callTracksStoreGetterSetter(periodId, [], function (tcm, periodRef) { var _a; return (_a = tcm.getAvailableAudioTracks(periodRef, filterPlayableRepresentations)) !== null && _a !== void 0 ? _a : []; });
1519
1528
  };
1520
1529
  /**
1521
1530
  * Returns every available text tracks for a given Period - or the current
@@ -1536,38 +1545,57 @@ var Player = /** @class */ (function (_super) {
1536
1545
  };
1537
1546
  /**
1538
1547
  * Returns every available video tracks for the current Period.
1539
- * @param {string|undefined} [periodId]
1548
+ * @param {string|Object|undefined} [arg]
1540
1549
  * @returns {Array.<Object>}
1541
1550
  */
1542
- Player.prototype.getAvailableVideoTracks = function (periodId) {
1543
- var _a;
1551
+ Player.prototype.getAvailableVideoTracks = function (arg) {
1552
+ var _a, _b;
1544
1553
  if (this._priv_contentInfos === null) {
1545
1554
  return [];
1546
1555
  }
1547
- var _b = this._priv_contentInfos, isDirectFile = _b.isDirectFile, mediaElementTracksStore = _b.mediaElementTracksStore;
1556
+ var _c = this._priv_contentInfos, isDirectFile = _c.isDirectFile, mediaElementTracksStore = _c.mediaElementTracksStore;
1548
1557
  if (isDirectFile) {
1549
1558
  return (_a = mediaElementTracksStore === null || mediaElementTracksStore === void 0 ? void 0 : mediaElementTracksStore.getAvailableVideoTracks()) !== null && _a !== void 0 ? _a : [];
1550
1559
  }
1551
- return this._priv_callTracksStoreGetterSetter(periodId, [], function (tcm, periodRef) { var _a; return (_a = tcm.getAvailableVideoTracks(periodRef)) !== null && _a !== void 0 ? _a : []; });
1560
+ var periodId;
1561
+ var filterPlayableRepresentations;
1562
+ if (typeof arg === "string") {
1563
+ periodId = arg;
1564
+ }
1565
+ else {
1566
+ periodId = arg === null || arg === void 0 ? void 0 : arg.periodId;
1567
+ filterPlayableRepresentations = (_b = arg === null || arg === void 0 ? void 0 : arg.filterPlayableRepresentations) !== null && _b !== void 0 ? _b : true;
1568
+ }
1569
+ return this._priv_callTracksStoreGetterSetter(periodId, [], function (tcm, periodRef) { var _a; return (_a = tcm.getAvailableVideoTracks(periodRef, filterPlayableRepresentations)) !== null && _a !== void 0 ? _a : []; });
1552
1570
  };
1553
1571
  /**
1554
1572
  * Returns currently chosen audio language for the current Period.
1555
- * @param {string|undefined} [periodId]
1573
+ * @param {string|Object|undefined} [arg]
1556
1574
  * @returns {Object|null|undefined}
1557
1575
  */
1558
- Player.prototype.getAudioTrack = function (periodId) {
1576
+ Player.prototype.getAudioTrack = function (arg) {
1577
+ var _a;
1559
1578
  if (this._priv_contentInfos === null) {
1560
1579
  return undefined;
1561
1580
  }
1562
- var _a = this._priv_contentInfos, isDirectFile = _a.isDirectFile, mediaElementTracksStore = _a.mediaElementTracksStore;
1581
+ var _b = this._priv_contentInfos, isDirectFile = _b.isDirectFile, mediaElementTracksStore = _b.mediaElementTracksStore;
1563
1582
  if (isDirectFile) {
1564
1583
  if (mediaElementTracksStore === null) {
1565
1584
  return undefined;
1566
1585
  }
1567
1586
  return mediaElementTracksStore.getChosenAudioTrack();
1568
1587
  }
1588
+ var periodId;
1589
+ var filterPlayableRepresentations;
1590
+ if (typeof arg === "string") {
1591
+ periodId = arg;
1592
+ }
1593
+ else {
1594
+ periodId = arg === null || arg === void 0 ? void 0 : arg.periodId;
1595
+ filterPlayableRepresentations = (_a = arg === null || arg === void 0 ? void 0 : arg.filterPlayableRepresentations) !== null && _a !== void 0 ? _a : true;
1596
+ }
1569
1597
  return this._priv_callTracksStoreGetterSetter(periodId, undefined, function (tcm, periodRef) {
1570
- return tcm.getChosenAudioTrack(periodRef);
1598
+ return tcm.getChosenAudioTrack(periodRef, filterPlayableRepresentations);
1571
1599
  });
1572
1600
  };
1573
1601
  /**
@@ -1592,22 +1620,32 @@ var Player = /** @class */ (function (_super) {
1592
1620
  };
1593
1621
  /**
1594
1622
  * Returns currently chosen video track for the current Period.
1595
- * @param {string|undefined} [periodId]
1623
+ * @param {string|Object|undefined} [arg]
1596
1624
  * @returns {Object|null|undefined}
1597
1625
  */
1598
- Player.prototype.getVideoTrack = function (periodId) {
1626
+ Player.prototype.getVideoTrack = function (arg) {
1627
+ var _a;
1599
1628
  if (this._priv_contentInfos === null) {
1600
1629
  return undefined;
1601
1630
  }
1602
- var _a = this._priv_contentInfos, isDirectFile = _a.isDirectFile, mediaElementTracksStore = _a.mediaElementTracksStore;
1631
+ var _b = this._priv_contentInfos, isDirectFile = _b.isDirectFile, mediaElementTracksStore = _b.mediaElementTracksStore;
1603
1632
  if (isDirectFile) {
1604
1633
  if (mediaElementTracksStore === null) {
1605
1634
  return undefined;
1606
1635
  }
1607
1636
  return mediaElementTracksStore.getChosenVideoTrack();
1608
1637
  }
1638
+ var periodId;
1639
+ var filterPlayableRepresentations;
1640
+ if (typeof arg === "string") {
1641
+ periodId = arg;
1642
+ }
1643
+ else {
1644
+ periodId = arg === null || arg === void 0 ? void 0 : arg.periodId;
1645
+ filterPlayableRepresentations = (_a = arg === null || arg === void 0 ? void 0 : arg.filterPlayableRepresentations) !== null && _a !== void 0 ? _a : true;
1646
+ }
1609
1647
  return this._priv_callTracksStoreGetterSetter(periodId, undefined, function (tcm, periodRef) {
1610
- return tcm.getChosenVideoTrack(periodRef);
1648
+ return tcm.getChosenVideoTrack(periodRef, filterPlayableRepresentations);
1611
1649
  });
1612
1650
  };
1613
1651
  /**
@@ -2169,10 +2207,12 @@ var Player = /** @class */ (function (_super) {
2169
2207
  }
2170
2208
  switch (elt.adaptation.type) {
2171
2209
  case "audio":
2172
- isCurrent = ((_a = tStore.getChosenAudioTrack(periodRef)) === null || _a === void 0 ? void 0 : _a.id) === elt.adaptation.id;
2210
+ isCurrent =
2211
+ ((_a = tStore.getChosenAudioTrack(periodRef, false)) === null || _a === void 0 ? void 0 : _a.id) === elt.adaptation.id;
2173
2212
  break;
2174
2213
  case "video":
2175
- isCurrent = ((_b = tStore.getChosenVideoTrack(periodRef)) === null || _b === void 0 ? void 0 : _b.id) === elt.adaptation.id;
2214
+ isCurrent =
2215
+ ((_b = tStore.getChosenVideoTrack(periodRef, false)) === null || _b === void 0 ? void 0 : _b.id) === elt.adaptation.id;
2176
2216
  break;
2177
2217
  case "text":
2178
2218
  isCurrent = ((_c = tStore.getChosenTextTrack(periodRef)) === null || _c === void 0 ? void 0 : _c.id) === elt.adaptation.id;
@@ -2229,11 +2269,11 @@ var Player = /** @class */ (function (_super) {
2229
2269
  if (!(0, is_null_or_undefined_1.default)(tracksStore)) {
2230
2270
  var periodRef = tracksStore.getPeriodObjectFromPeriod(period);
2231
2271
  if (periodRef) {
2232
- var audioTrack = tracksStore.getChosenAudioTrack(periodRef);
2272
+ var audioTrack = tracksStore.getChosenAudioTrack(periodRef, true);
2233
2273
  this._priv_triggerEventIfNotStopped("audioTrackChange", audioTrack, cancelSignal);
2234
2274
  var textTrack = tracksStore.getChosenTextTrack(periodRef);
2235
2275
  this._priv_triggerEventIfNotStopped("textTrackChange", textTrack, cancelSignal);
2236
- var videoTrack = tracksStore.getChosenVideoTrack(periodRef);
2276
+ var videoTrack = tracksStore.getChosenVideoTrack(periodRef, true);
2237
2277
  this._priv_triggerEventIfNotStopped("videoTrackChange", videoTrack, cancelSignal);
2238
2278
  }
2239
2279
  }
@@ -2355,7 +2395,7 @@ var Player = /** @class */ (function (_super) {
2355
2395
  }
2356
2396
  switch (type) {
2357
2397
  case "audio":
2358
- var audioTrack = tracksStore.getChosenAudioTrack(periodRef);
2398
+ var audioTrack = tracksStore.getChosenAudioTrack(periodRef, true);
2359
2399
  this._priv_triggerEventIfNotStopped("audioTrackChange", audioTrack, cancelSignal);
2360
2400
  break;
2361
2401
  case "text":
@@ -2363,7 +2403,7 @@ var Player = /** @class */ (function (_super) {
2363
2403
  this._priv_triggerEventIfNotStopped("textTrackChange", textTrack, cancelSignal);
2364
2404
  break;
2365
2405
  case "video":
2366
- var videoTrack = tracksStore.getChosenVideoTrack(periodRef);
2406
+ var videoTrack = tracksStore.getChosenVideoTrack(periodRef, true);
2367
2407
  this._priv_triggerEventIfNotStopped("videoTrackChange", videoTrack, cancelSignal);
2368
2408
  break;
2369
2409
  }
@@ -2578,11 +2618,11 @@ var Player = /** @class */ (function (_super) {
2578
2618
  }
2579
2619
  switch (trackType) {
2580
2620
  case "video":
2581
- var videoTracks = tracksStore.getAvailableVideoTracks(periodRef);
2621
+ var videoTracks = tracksStore.getAvailableVideoTracks(periodRef, true);
2582
2622
  this._priv_triggerEventIfNotStopped("availableVideoTracksChange", videoTracks !== null && videoTracks !== void 0 ? videoTracks : [], cancelSignal);
2583
2623
  break;
2584
2624
  case "audio":
2585
- var audioTracks = tracksStore.getAvailableAudioTracks(periodRef);
2625
+ var audioTracks = tracksStore.getAvailableAudioTracks(periodRef, true);
2586
2626
  this._priv_triggerEventIfNotStopped("availableAudioTracksChange", audioTracks !== null && audioTracks !== void 0 ? audioTracks : [], cancelSignal);
2587
2627
  break;
2588
2628
  case "text":
@@ -2628,5 +2668,5 @@ var Player = /** @class */ (function (_super) {
2628
2668
  Player._priv_currentlyUsedVideoElements = new WeakSet();
2629
2669
  return Player;
2630
2670
  }(event_emitter_1.default));
2631
- Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024081400";
2671
+ Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024090300";
2632
2672
  exports.default = Player;
@@ -164,6 +164,14 @@ 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;
167
175
  /**
168
176
  * Callback that should be called if an error that made the current
169
177
  * `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;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"}
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"}
@@ -668,6 +668,20 @@ 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
+ }
671
685
  // Check if the compatible session is blacklisted
672
686
  var blacklistedSessionError = compatibleSessionInfo.blacklistedSessionError;
673
687
  if (!(0, is_null_or_undefined_1.default)(blacklistedSessionError)) {
@@ -751,6 +765,41 @@ var ContentDecryptor = /** @class */ (function (_super) {
751
765
  }
752
766
  return false;
753
767
  };
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
+ };
754
803
  /**
755
804
  * Callback that should be called if an error that made the current
756
805
  * `ContentDecryptor` instance unusable arised.
@@ -1076,8 +1125,8 @@ function addKeyIdsFromPeriod(set, period) {
1076
1125
  representation.contentProtections.keyIds !== undefined) {
1077
1126
  try {
1078
1127
  for (var _f = (e_10 = void 0, __values(representation.contentProtections.keyIds)), _g = _f.next(); !_g.done; _g = _f.next()) {
1079
- var kidInf = _g.value;
1080
- set.add(kidInf.keyId);
1128
+ var kid = _g.value;
1129
+ set.add(kid);
1081
1130
  }
1082
1131
  }
1083
1132
  catch (e_10_1) { e_10 = { error: e_10_1 }; }
@@ -109,6 +109,11 @@ export interface IProtectionData {
109
109
  /** Protection initialization data actually processed by the `ContentDecryptor`. */
110
110
  export interface IProcessedProtectionData extends Omit<IProtectionData, "values"> {
111
111
  values: InitDataValuesContainer;
112
+ /**
113
+ * Enforce to recreate the media key session if there is already a session created
114
+ * with this init data
115
+ */
116
+ forceSessionRecreation?: boolean | undefined;
112
117
  }
113
118
  /**
114
119
  * Represent the initialization data linked to a key system that can be used to
@@ -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;CAC1B;AAED,mFAAmF;AACnF,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC;IAC/E,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;AAElD,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,OAAO,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACjC,+CAA+C;IAC/C,MAAM,EAAE,KAAK,CAAC;QACZ;;;WAGG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB;;;;WAIG;QACH,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,yCAAyC;AACzC,MAAM,WAAW,QAAQ;IACvB,yDAAyD;IACzD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,uDAAuD;IACvD,MAAM,EAAE,eAAe,CAAC;IACxB,2DAA2D;IAC3D,UAAU,EAAE,mBAAmB,CAAC;IAChC,+DAA+D;IAC/D,cAAc,EAAE,uBAAuB,CAAC;CACzC;AAED,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,4DAA4D;IAC5D,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACzD;AAED,sEAAsE;AACtE,0BAAkB,0BAA0B;IAC1C;;;;OAIG;IACH,OAAO,oBAAoB;IAC3B;;;OAGG;IACH,iBAAiB,wBAAwB;IACzC;;;;;OAKG;IACH,uBAAuB,8BAA8B;CACtD;AAED,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,UAAU,CAAC;IAErB;;;;;OAKG;IACH,MAAM,IAAI,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC;IAEX,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAElB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,oDAAoD;IACpD,MAAM,EAAE,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;IACH,MAAM,EAAE,KAAK,CAAC;QACZ;;;;;;;WAOG;QACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;WAIG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;;WAGG;QACH,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;KACnC,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC;IAEX,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAElB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC;;;;OAIG;IACH,MAAM,EAAE,KAAK,CAAC;QACZ;;;;;;;WAOG;QACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;WAIG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;;WAGG;QACH,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;KACnC,CAAC,CAAC;CACJ;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,EAAE,UAAU,CAAC;IACrB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,yDAAyD;IACzD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/types.ts"],"names":[],"mappings":"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"}
@@ -955,7 +955,7 @@ function updateKeyIdsDecipherabilityOnManifest(manifest, whitelistedKeyIds, blac
955
955
  try {
956
956
  for (var blacklistedKeyIds_1 = (e_3 = void 0, __values(blacklistedKeyIds)), blacklistedKeyIds_1_1 = blacklistedKeyIds_1.next(); !blacklistedKeyIds_1_1.done; blacklistedKeyIds_1_1 = blacklistedKeyIds_1.next()) {
957
957
  var blacklistedKeyId = blacklistedKeyIds_1_1.value;
958
- if ((0, are_arrays_of_numbers_equal_1.default)(blacklistedKeyId, elt.keyId)) {
958
+ if ((0, are_arrays_of_numbers_equal_1.default)(blacklistedKeyId, elt)) {
959
959
  return false;
960
960
  }
961
961
  }
@@ -970,7 +970,7 @@ function updateKeyIdsDecipherabilityOnManifest(manifest, whitelistedKeyIds, blac
970
970
  try {
971
971
  for (var whitelistedKeyIds_1 = (e_4 = void 0, __values(whitelistedKeyIds)), whitelistedKeyIds_1_1 = whitelistedKeyIds_1.next(); !whitelistedKeyIds_1_1.done; whitelistedKeyIds_1_1 = whitelistedKeyIds_1.next()) {
972
972
  var whitelistedKeyId = whitelistedKeyIds_1_1.value;
973
- if ((0, are_arrays_of_numbers_equal_1.default)(whitelistedKeyId, elt.keyId)) {
973
+ if ((0, are_arrays_of_numbers_equal_1.default)(whitelistedKeyId, elt)) {
974
974
  return true;
975
975
  }
976
976
  }
@@ -985,7 +985,7 @@ function updateKeyIdsDecipherabilityOnManifest(manifest, whitelistedKeyIds, blac
985
985
  try {
986
986
  for (var delistedKeyIds_1 = (e_5 = void 0, __values(delistedKeyIds)), delistedKeyIds_1_1 = delistedKeyIds_1.next(); !delistedKeyIds_1_1.done; delistedKeyIds_1_1 = delistedKeyIds_1.next()) {
987
987
  var delistedKeyId = delistedKeyIds_1_1.value;
988
- if ((0, are_arrays_of_numbers_equal_1.default)(delistedKeyId, elt.keyId)) {
988
+ if ((0, are_arrays_of_numbers_equal_1.default)(delistedKeyId, elt)) {
989
989
  return undefined;
990
990
  }
991
991
  }
@@ -229,7 +229,7 @@ export default class TracksStore extends EventEmitter<ITracksStoreEvents> {
229
229
  * `null` if audio tracks were disabled and `undefined` if the Period is not
230
230
  * known.
231
231
  */
232
- getChosenAudioTrack(periodObj: ITSPeriodObject): IAudioTrack | null;
232
+ getChosenAudioTrack(periodObj: ITSPeriodObject, filterPlayableRepresentations: boolean): IAudioTrack | null;
233
233
  /**
234
234
  * Returns an object describing the chosen text track for the given text
235
235
  * Period.
@@ -251,7 +251,7 @@ export default class TracksStore extends EventEmitter<ITracksStoreEvents> {
251
251
  * @param {Object} periodObj - The concerned Period's object
252
252
  * @returns {Object|null} - The video track chosen for this Period
253
253
  */
254
- getChosenVideoTrack(periodObj: ITSPeriodObject): IVideoTrack | null;
254
+ getChosenVideoTrack(periodObj: ITSPeriodObject, filterPlayableRepresentations: boolean): IVideoTrack | null;
255
255
  /**
256
256
  * Returns all available audio tracks for a given Period, as an array of
257
257
  * objects.
@@ -259,9 +259,13 @@ export default class TracksStore extends EventEmitter<ITracksStoreEvents> {
259
259
  * Returns `undefined` if the given Period's id is not known.
260
260
  *
261
261
  * @param {Object} periodObj - The concerned Period's object
262
+ * @param {boolean} filterPlayableRepresentations - If `true`, only
263
+ * representations considered to be "playable" will be included in the
264
+ * returned response.
265
+ * If `false`, the response should contain all linked representations.
262
266
  * @returns {Array.<Object>}
263
267
  */
264
- getAvailableAudioTracks(periodObj: ITSPeriodObject): IAvailableAudioTrack[] | undefined;
268
+ getAvailableAudioTracks(periodObj: ITSPeriodObject, filterPlayableRepresentations: boolean): IAvailableAudioTrack[] | undefined;
265
269
  /**
266
270
  * Returns all available text tracks for a given Period, as an array of
267
271
  * objects.
@@ -279,9 +283,13 @@ export default class TracksStore extends EventEmitter<ITracksStoreEvents> {
279
283
  * Returns `undefined` if the given Period's id is not known.
280
284
  *
281
285
  * @param {Object} periodObj - The concerned Period's object
286
+ * @param {boolean} filterPlayableRepresentations - If `true`, only
287
+ * representations considered to be "playable" will be included in the
288
+ * returned response.
289
+ * If `false`, the response should contain all linked representations.
282
290
  * @returns {Array.<Object>}
283
291
  */
284
- getAvailableVideoTracks(periodObj: ITSPeriodObject): IAvailableVideoTrack[] | undefined;
292
+ getAvailableVideoTracks(periodObj: ITSPeriodObject, filterPlayableRepresentations: boolean): IAvailableVideoTrack[] | undefined;
285
293
  getLockedAudioRepresentations(periodObj: ITSPeriodObject): string[] | null;
286
294
  getLockedVideoRepresentations(periodObj: ITSPeriodObject): string[] | null;
287
295
  lockAudioRepresentations(periodObj: ITSPeriodObject, lockSettings: IAudioRepresentationsLockSettings): void;
@@ -1 +1 @@
1
- {"version":3,"file":"tracks_store.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/tracks_store/tracks_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracks_store.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/tracks_store/tracks_store.ts"],"names":[],"mappings":"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"}
@@ -794,10 +794,10 @@ var TracksStore = /** @class */ (function (_super) {
794
794
  * `null` if audio tracks were disabled and `undefined` if the Period is not
795
795
  * known.
796
796
  */
797
- TracksStore.prototype.getChosenAudioTrack = function (periodObj) {
797
+ TracksStore.prototype.getChosenAudioTrack = function (periodObj, filterPlayableRepresentations) {
798
798
  return (0, is_null_or_undefined_1.default)(periodObj.audio.storedSettings)
799
799
  ? null
800
- : (0, manifest_1.toAudioTrack)(periodObj.audio.storedSettings.adaptation, true);
800
+ : (0, manifest_1.toAudioTrack)(periodObj.audio.storedSettings.adaptation, filterPlayableRepresentations);
801
801
  };
802
802
  /**
803
803
  * Returns an object describing the chosen text track for the given text
@@ -824,11 +824,11 @@ var TracksStore = /** @class */ (function (_super) {
824
824
  * @param {Object} periodObj - The concerned Period's object
825
825
  * @returns {Object|null} - The video track chosen for this Period
826
826
  */
827
- TracksStore.prototype.getChosenVideoTrack = function (periodObj) {
827
+ TracksStore.prototype.getChosenVideoTrack = function (periodObj, filterPlayableRepresentations) {
828
828
  if ((0, is_null_or_undefined_1.default)(periodObj.video.storedSettings)) {
829
829
  return null;
830
830
  }
831
- return (0, manifest_1.toVideoTrack)(periodObj.video.storedSettings.adaptation, true);
831
+ return (0, manifest_1.toVideoTrack)(periodObj.video.storedSettings.adaptation, filterPlayableRepresentations);
832
832
  };
833
833
  /**
834
834
  * Returns all available audio tracks for a given Period, as an array of
@@ -837,9 +837,13 @@ var TracksStore = /** @class */ (function (_super) {
837
837
  * Returns `undefined` if the given Period's id is not known.
838
838
  *
839
839
  * @param {Object} periodObj - The concerned Period's object
840
+ * @param {boolean} filterPlayableRepresentations - If `true`, only
841
+ * representations considered to be "playable" will be included in the
842
+ * returned response.
843
+ * If `false`, the response should contain all linked representations.
840
844
  * @returns {Array.<Object>}
841
845
  */
842
- TracksStore.prototype.getAvailableAudioTracks = function (periodObj) {
846
+ TracksStore.prototype.getAvailableAudioTracks = function (periodObj, filterPlayableRepresentations) {
843
847
  var storedSettings = periodObj.audio.storedSettings;
844
848
  var currentId = !(0, is_null_or_undefined_1.default)(storedSettings)
845
849
  ? storedSettings.adaptation.id
@@ -847,7 +851,9 @@ var TracksStore = /** @class */ (function (_super) {
847
851
  var adaptations = (0, manifest_1.getSupportedAdaptations)(periodObj.period, "audio");
848
852
  return adaptations.map(function (adaptation) {
849
853
  var active = currentId === null ? false : currentId === adaptation.id;
850
- return (0, object_assign_1.default)((0, manifest_1.toAudioTrack)(adaptation, true), { active: active });
854
+ return (0, object_assign_1.default)((0, manifest_1.toAudioTrack)(adaptation, filterPlayableRepresentations), {
855
+ active: active,
856
+ });
851
857
  });
852
858
  };
853
859
  /**
@@ -877,9 +883,13 @@ var TracksStore = /** @class */ (function (_super) {
877
883
  * Returns `undefined` if the given Period's id is not known.
878
884
  *
879
885
  * @param {Object} periodObj - The concerned Period's object
886
+ * @param {boolean} filterPlayableRepresentations - If `true`, only
887
+ * representations considered to be "playable" will be included in the
888
+ * returned response.
889
+ * If `false`, the response should contain all linked representations.
880
890
  * @returns {Array.<Object>}
881
891
  */
882
- TracksStore.prototype.getAvailableVideoTracks = function (periodObj) {
892
+ TracksStore.prototype.getAvailableVideoTracks = function (periodObj, filterPlayableRepresentations) {
883
893
  var storedSettings = periodObj.video.storedSettings;
884
894
  var currentId = (0, is_null_or_undefined_1.default)(storedSettings)
885
895
  ? undefined
@@ -887,7 +897,7 @@ var TracksStore = /** @class */ (function (_super) {
887
897
  var adaptations = (0, manifest_1.getSupportedAdaptations)(periodObj.period, "video");
888
898
  return adaptations.map(function (adaptation) {
889
899
  var active = currentId === null ? false : currentId === adaptation.id;
890
- var track = (0, manifest_1.toVideoTrack)(adaptation, true);
900
+ var track = (0, manifest_1.toVideoTrack)(adaptation, filterPlayableRepresentations);
891
901
  var trickModeTracks = track.trickModeTracks !== undefined
892
902
  ? track.trickModeTracks.map(function (trickModeAdaptation) {
893
903
  var isActive = currentId === null ? false : currentId === trickModeAdaptation.id;
@@ -35,55 +35,55 @@ export default class Adaptation implements IAdaptationMetadata {
35
35
  */
36
36
  manuallyAdded?: boolean;
37
37
  /**
38
- * @see IRepresentationMetadata
38
+ * @see IAdaptationMetadata.representations
39
39
  */
40
40
  readonly representations: Representation[];
41
41
  /**
42
- * @see IRepresentationMetadata
42
+ * @see ITrackType
43
43
  */
44
44
  readonly type: ITrackType;
45
45
  /**
46
- * @see IRepresentationMetadata
46
+ * @see IAdaptationMetadata.isAudioDescription
47
47
  */
48
48
  isAudioDescription?: boolean;
49
49
  /**
50
- * @see IRepresentationMetadata
50
+ * @see IAdaptationMetadata.isClosedCaption
51
51
  */
52
52
  isClosedCaption?: boolean;
53
53
  /**
54
- * @see IRepresentationMetadata
54
+ * @see IAdaptationMetadata.isForcedSubtitles
55
55
  */
56
56
  isForcedSubtitles?: boolean;
57
57
  /**
58
- * @see IRepresentationMetadata
58
+ * @see IAdaptationMetadata.isSignInterpreted
59
59
  */
60
60
  isSignInterpreted?: boolean;
61
61
  /**
62
- * @see IRepresentationMetadata
62
+ * @see IAdaptationMetadata.isDub
63
63
  */
64
64
  isDub?: boolean;
65
65
  /**
66
- * @see IRepresentationMetadata
66
+ * @see IAdaptationMetadata.language
67
67
  */
68
68
  language?: string;
69
69
  /**
70
- * @see IRepresentationMetadata
70
+ * @see IAdaptationMetadata.normalizedLanguage
71
71
  */
72
72
  normalizedLanguage?: string;
73
73
  /**
74
- * @see IRepresentationMetadata
74
+ * @see IAdaptationSupportStatus
75
75
  */
76
76
  supportStatus: IAdaptationSupportStatus;
77
77
  /**
78
- * @see IRepresentationMetadata
78
+ * @see IAdaptationMetadata.isTrickModeTrack
79
79
  */
80
80
  isTrickModeTrack?: boolean;
81
81
  /**
82
- * @see IRepresentationMetadata
82
+ * @see IAdaptationMetadata.label
83
83
  */
84
84
  label?: string;
85
85
  /**
86
- * @see IRepresentationMetadata
86
+ * @see IAdaptationMetadata.trickModeTracks
87
87
  */
88
88
  readonly trickModeTracks?: Adaptation[];
89
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"adaptation.d.ts","sourceRoot":"","sources":["../../../../src/manifest/classes/adaptation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EACV,mBAAmB,EAEnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,mBAAmB;IAC5D,4DAA4D;IAC5D,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,SAAgB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClD;;OAEG;IACH,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC;;OAEG;IACI,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACI,eAAe,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,KAAK,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACI,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACI,aAAa,EAAE,wBAAwB,CAAC;IAC/C;;OAEG;IACI,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAE/C;;;;OAIG;gBAED,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,iBAAiB,EACrC,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACzD,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClC;IAsHR;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI;IA4BhE;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS;IAIxE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,IAAI,mBAAmB;CAqB3C"}
1
+ {"version":3,"file":"adaptation.d.ts","sourceRoot":"","sources":["../../../../src/manifest/classes/adaptation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EACV,mBAAmB,EAEnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,mBAAmB;IAC5D,4DAA4D;IAC5D,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACI,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,SAAgB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClD;;OAEG;IACH,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC;;OAEG;IACI,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACI,eAAe,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACI,KAAK,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACI,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACI,aAAa,EAAE,wBAAwB,CAAC;IAC/C;;OAEG;IACI,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAE/C;;;;OAIG;gBAED,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,iBAAiB,EACrC,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACzD,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClC;IAoHR;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI;IA4BhE;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS;IAIxE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,IAAI,mBAAmB;CAqB3C"}
@@ -102,10 +102,7 @@ var Adaptation = /** @class */ (function () {
102
102
  if (representation.contentProtections !== undefined) {
103
103
  reprObject.contentProtections = {};
104
104
  if (representation.contentProtections.keyIds !== undefined) {
105
- var keyIds = representation.contentProtections.keyIds.map(function (_a) {
106
- var keyId = _a.keyId;
107
- return keyId;
108
- });
105
+ var keyIds = representation.contentProtections.keyIds;
109
106
  reprObject.contentProtections.keyIds = keyIds;
110
107
  }
111
108
  }