@amazon/vinyl 3.2.3-next.20261009230135 → 3.2.3-next.20261010160052

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 (62) hide show
  1. package/dist/index.cjs +69 -1
  2. package/dist/index.cjs.map +2 -2
  3. package/dist/index.js +69 -1
  4. package/dist/index.js.map +2 -2
  5. package/dist/test/integ.es5.js +167 -163
  6. package/dist/test/integ.js +391 -166
  7. package/dist/test/integ.js.map +3 -3
  8. package/dist/types/current/drm/DrmController.d.ts +20 -0
  9. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  10. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  11. package/dist/types/current/drm/DrmControllerImpl.js +10 -0
  12. package/dist/types/current/drm/commonEme/CommonEme.d.ts +28 -0
  13. package/dist/types/current/drm/commonEme/CommonEme.d.ts.map +1 -1
  14. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts +1 -0
  15. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  16. package/dist/types/current/drm/commonEme/MsCommonEme.js +14 -0
  17. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts +1 -0
  18. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  19. package/dist/types/current/drm/commonEme/StandardCommonEme.js +22 -0
  20. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts +1 -0
  21. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  22. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +14 -0
  23. package/dist/types/current/drm/dom/MSMediaKeys.d.ts +1 -0
  24. package/dist/types/current/drm/dom/MSMediaKeys.d.ts.map +1 -1
  25. package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts +1 -0
  26. package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts.map +1 -1
  27. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  28. package/dist/types/current/vinyl/VinylPlayer.d.ts +2 -1
  29. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  30. package/dist/types/current/vinyl/VinylPlayer.js +4 -1
  31. package/dist/types/ts3.7/drm/DrmController.d.ts +20 -0
  32. package/dist/types/ts3.7/drm/commonEme/CommonEme.d.ts +28 -0
  33. package/dist/types/ts3.7/drm/commonEme/MsCommonEme.d.ts +1 -0
  34. package/dist/types/ts3.7/drm/commonEme/StandardCommonEme.d.ts +1 -0
  35. package/dist/types/ts3.7/drm/commonEme/WebKitCommonEme.d.ts +1 -0
  36. package/dist/types/ts3.7/drm/dom/MSMediaKeys.d.ts +1 -0
  37. package/dist/types/ts3.7/drm/dom/WebKitMediaKeys.d.ts +1 -0
  38. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +2 -1
  39. package/dist/types/ts4.1/drm/DrmController.d.ts +20 -0
  40. package/dist/types/ts4.1/drm/commonEme/CommonEme.d.ts +28 -0
  41. package/dist/types/ts4.1/drm/commonEme/MsCommonEme.d.ts +1 -0
  42. package/dist/types/ts4.1/drm/commonEme/StandardCommonEme.d.ts +1 -0
  43. package/dist/types/ts4.1/drm/commonEme/WebKitCommonEme.d.ts +1 -0
  44. package/dist/types/ts4.1/drm/dom/MSMediaKeys.d.ts +1 -0
  45. package/dist/types/ts4.1/drm/dom/WebKitMediaKeys.d.ts +1 -0
  46. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +2 -1
  47. package/dist/types/ts4.7/drm/DrmController.d.ts +20 -0
  48. package/dist/types/ts4.7/drm/commonEme/CommonEme.d.ts +28 -0
  49. package/dist/types/ts4.7/drm/commonEme/MsCommonEme.d.ts +1 -0
  50. package/dist/types/ts4.7/drm/commonEme/StandardCommonEme.d.ts +1 -0
  51. package/dist/types/ts4.7/drm/commonEme/WebKitCommonEme.d.ts +1 -0
  52. package/dist/types/ts4.7/drm/dom/MSMediaKeys.d.ts +1 -0
  53. package/dist/types/ts4.7/drm/dom/WebKitMediaKeys.d.ts +1 -0
  54. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +2 -1
  55. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +30 -0
  56. package/dist/unit/types/current/drm/commonEme/MsCommonEme.test.js +17 -0
  57. package/dist/unit/types/current/drm/commonEme/StandardCommonEme.test.js +32 -0
  58. package/dist/unit/types/current/drm/commonEme/WebKitCommonEme.test.js +17 -0
  59. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  60. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +18 -1
  61. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +10 -10
package/dist/index.cjs CHANGED
@@ -1580,8 +1580,21 @@ var MsCommonMediaKeySession = class extends import_vinyl_util13.EventHostImpl {
1580
1580
  this.dispatch("error", { error, target: this });
1581
1581
  }
1582
1582
  });
1583
+ // Prefixed EME reports no key ids or statuses; a key was added for the
1584
+ // session's init data.
1585
+ __publicField(this, "keyAddedHandler", () => {
1586
+ this.dispatch("keyStatusesChange", {
1587
+ keyStatuses: [
1588
+ {
1589
+ keyId: (0, import_vinyl_util13.bufferToByteArray)(this.initData).slice().buffer,
1590
+ status: "usable"
1591
+ }
1592
+ ]
1593
+ });
1594
+ });
1583
1595
  session.addEventListener("mskeymessage", this.messageHandler);
1584
1596
  session.addEventListener("mskeyerror", this.errorHandler);
1597
+ session.addEventListener("mskeyadded", this.keyAddedHandler);
1585
1598
  }
1586
1599
  update(key) {
1587
1600
  if (this.disposed) return Promise.reject(new import_vinyl_util13.DisposedError());
@@ -1597,6 +1610,7 @@ var MsCommonMediaKeySession = class extends import_vinyl_util13.EventHostImpl {
1597
1610
  this.session.close();
1598
1611
  this.session.removeEventListener("mskeymessage", this.messageHandler);
1599
1612
  this.session.removeEventListener("mskeyerror", this.errorHandler);
1613
+ this.session.removeEventListener("mskeyadded", this.keyAddedHandler);
1600
1614
  }
1601
1615
  };
1602
1616
  function msErrorCodeToStr(code) {
@@ -1680,6 +1694,10 @@ var StandardCommonMediaKeys = class {
1680
1694
  );
1681
1695
  }
1682
1696
  };
1697
+ function copyKeyId(keyId) {
1698
+ const bytes = keyId instanceof ArrayBuffer ? new Uint8Array(keyId) : new Uint8Array(keyId.buffer, keyId.byteOffset, keyId.byteLength);
1699
+ return bytes.slice().buffer;
1700
+ }
1683
1701
  var StandardCommonMediaKeySession = class extends import_vinyl_util15.EventHostImpl {
1684
1702
  constructor(session, mimeType, initDataType, initData) {
1685
1703
  super();
@@ -1693,7 +1711,21 @@ var StandardCommonMediaKeySession = class extends import_vinyl_util15.EventHostI
1693
1711
  message: event.message
1694
1712
  });
1695
1713
  });
1714
+ __publicField(this, "keyStatusesChangeHandler", () => {
1715
+ const keyStatuses = [];
1716
+ this.session.keyStatuses.forEach((status, keyId) => {
1717
+ keyStatuses.push({
1718
+ keyId: copyKeyId(keyId),
1719
+ status
1720
+ });
1721
+ });
1722
+ this.dispatch("keyStatusesChange", { keyStatuses });
1723
+ });
1696
1724
  session.addEventListener("message", this.messageHandler);
1725
+ session.addEventListener(
1726
+ "keystatuseschange",
1727
+ this.keyStatusesChangeHandler
1728
+ );
1697
1729
  if (session.closed) {
1698
1730
  session.closed.then((reason) => {
1699
1731
  this.dispatch("closed", {
@@ -1725,6 +1757,10 @@ var StandardCommonMediaKeySession = class extends import_vinyl_util15.EventHostI
1725
1757
  super.dispose();
1726
1758
  this._disposed = true;
1727
1759
  this.session.removeEventListener("message", this.messageHandler);
1760
+ this.session.removeEventListener(
1761
+ "keystatuseschange",
1762
+ this.keyStatusesChangeHandler
1763
+ );
1728
1764
  this.session.close().catch(import_vinyl_util15.noop);
1729
1765
  }
1730
1766
  };
@@ -1836,8 +1872,21 @@ var WebKitCommonMediaKeySession = class extends import_vinyl_util16.EventHostImp
1836
1872
  this.dispatch("error", { error, target: this });
1837
1873
  }
1838
1874
  });
1875
+ // Prefixed EME reports no key ids or statuses; a key was added for the
1876
+ // session's init data.
1877
+ __publicField(this, "keyAddedHandler", () => {
1878
+ this.dispatch("keyStatusesChange", {
1879
+ keyStatuses: [
1880
+ {
1881
+ keyId: (0, import_vinyl_util16.bufferToByteArray)(this.initData).slice().buffer,
1882
+ status: "usable"
1883
+ }
1884
+ ]
1885
+ });
1886
+ });
1839
1887
  session.addEventListener("webkitkeymessage", this.messageHandler);
1840
1888
  session.addEventListener("webkitkeyerror", this.errorHandler);
1889
+ session.addEventListener("webkitkeyadded", this.keyAddedHandler);
1841
1890
  }
1842
1891
  update(key) {
1843
1892
  if (this.disposed) return Promise.reject(new import_vinyl_util16.DisposedError());
@@ -1855,6 +1904,7 @@ var WebKitCommonMediaKeySession = class extends import_vinyl_util16.EventHostImp
1855
1904
  this.messageHandler
1856
1905
  );
1857
1906
  this.session.removeEventListener("webkitkeyerror", this.errorHandler);
1907
+ this.session.removeEventListener("webkitkeyadded", this.keyAddedHandler);
1858
1908
  this.session.close();
1859
1909
  }
1860
1910
  };
@@ -2571,6 +2621,19 @@ var DrmControllerImpl = class extends import_vinyl_util24.EventHostImpl {
2571
2621
  this.closeSession(session);
2572
2622
  this.handleError(event.error);
2573
2623
  });
2624
+ session.on("keyStatusesChange", ({ keyStatuses }) => {
2625
+ if (this.disposed) return;
2626
+ (0, import_vinyl_util24.logDebug)(
2627
+ this,
2628
+ "keyStatusesChange",
2629
+ keyStatuses.map((keyStatus) => keyStatus.status)
2630
+ );
2631
+ this.dispatch("keyStatusesChange", {
2632
+ keySystem: mediaKeys.keySystem,
2633
+ keyStatuses,
2634
+ trackUri
2635
+ });
2636
+ });
2574
2637
  return session;
2575
2638
  }
2576
2639
  /**
@@ -10727,7 +10790,12 @@ var VinylPlayer = class extends import_vinyl_util99.EventHostImpl {
10727
10790
  ALL_TRACK_CONTROLLER_EVENTS
10728
10791
  )
10729
10792
  );
10730
- add((0, import_vinyl_util99.redispatchEvents)(this, this.drmController, ["error"]));
10793
+ add(
10794
+ (0, import_vinyl_util99.redispatchEvents)(this, this.drmController, [
10795
+ "error",
10796
+ "keyStatusesChange"
10797
+ ])
10798
+ );
10731
10799
  add(
10732
10800
  this.drmController.on("loadSpanMeasured", (measurement) => {
10733
10801
  const trackUri = measurement.trackUri;