@amazon/vinyl 3.2.2 → 3.2.3-next.20261001224604

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 (92) hide show
  1. package/README.md +2 -2
  2. package/dist/index.cjs +62 -21
  3. package/dist/index.cjs.map +3 -3
  4. package/dist/index.js +65 -22
  5. package/dist/index.js.map +3 -3
  6. package/dist/test/benchmark.es5.js +7 -6
  7. package/dist/test/benchmark.js +35 -30
  8. package/dist/test/benchmark.js.map +3 -3
  9. package/dist/test/integ.es5.js +184 -171
  10. package/dist/test/integ.js +450 -165
  11. package/dist/test/integ.js.map +4 -4
  12. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -1
  13. package/dist/types/current/ad/AdControllerImpl.js +15 -1
  14. package/dist/types/current/ad/discoverHlsInterstitials.js +13 -1
  15. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  16. package/dist/types/current/drm/commonEme/MsCommonEme.js +2 -2
  17. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  18. package/dist/types/current/drm/commonEme/StandardCommonEme.js +3 -2
  19. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  20. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +2 -2
  21. package/dist/types/current/drm/dom/MSMediaKeys.d.ts +1 -1
  22. package/dist/types/current/drm/dom/MSMediaKeys.d.ts.map +1 -1
  23. package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts +1 -1
  24. package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts.map +1 -1
  25. package/dist/types/current/drm/util/extractContentId.js +2 -2
  26. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -1
  27. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +3 -1
  28. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  29. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +1 -1
  30. package/dist/types/current/streaming/buffering/BufferingController.d.ts +1 -1
  31. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  32. package/dist/types/current/streaming/buffering/BufferingController.js +14 -5
  33. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  34. package/dist/types/current/streaming/buffering/MediaSourceController.js +4 -0
  35. package/dist/types/current/text/discoverDashTextTracks.d.ts +2 -2
  36. package/dist/types/current/text/discoverDashTextTracks.js +4 -3
  37. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -1
  38. package/dist/types/current/text/parseWebVtt.js +3 -2
  39. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  40. package/dist/types/current/track/TrackController.js +7 -0
  41. package/dist/types/current/track/hls/HlsManifestData.d.ts +14 -1
  42. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -1
  43. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  44. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +10 -2
  45. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  46. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  47. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +8 -3
  48. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  49. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -1
  50. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +3 -1
  51. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +1 -1
  52. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +1 -1
  53. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +2 -2
  54. package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +14 -1
  55. package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  56. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -1
  57. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +3 -1
  58. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +1 -1
  59. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +1 -1
  60. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +2 -2
  61. package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +14 -1
  62. package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  63. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -1
  64. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +3 -1
  65. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +1 -1
  66. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +1 -1
  67. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +2 -2
  68. package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +14 -1
  69. package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
  70. package/dist/unit/types/current/ad/AdControllerImpl.test.js +66 -0
  71. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +29 -2
  72. package/dist/unit/types/current/drm/commonEme/StandardCommonEme.test.js +12 -4
  73. package/dist/unit/types/current/drm/util/extractContentId.test.js +7 -0
  74. package/dist/unit/types/current/index.d.ts +1 -0
  75. package/dist/unit/types/current/index.d.ts.map +1 -1
  76. package/dist/unit/types/current/index.js +1 -0
  77. package/dist/unit/types/current/streaming/MediaQualityMetadata.test.js +8 -0
  78. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +26 -0
  79. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +29 -0
  80. package/dist/unit/types/current/text/TextTrack.test.d.ts +2 -0
  81. package/dist/unit/types/current/text/TextTrack.test.d.ts.map +1 -0
  82. package/dist/unit/types/current/text/TextTrack.test.js +12 -0
  83. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +17 -0
  84. package/dist/unit/types/current/text/parseWebVtt.test.js +26 -0
  85. package/dist/unit/types/current/track/TrackController.test.js +15 -60
  86. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +22 -0
  87. package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +23 -0
  88. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  89. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  90. package/docs/CUSTOMIZATION_GUIDE.md +310 -0
  91. package/package.json +10 -10
  92. package/docs/DASH_MANIFEST_TRANSFORM_GUIDE.md +0 -236
@@ -1 +1 @@
1
- {"version":3,"file":"AdControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/ad/AdControllerImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/ad/AdControllerImpl.ts"],"names":[],"mappings":"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"}
@@ -340,8 +340,16 @@ export class AdControllerImpl extends EventHostImpl {
340
340
  // The break may have been completed or swapped out (a content
341
341
  // change, skip, or playout-limit) while its ads were resolving;
342
342
  // don't start an ad for an abandoned break.
343
- if (this.disposed || adBreakState.completedReason)
343
+ if (this.disposed)
344
+ return;
345
+ if (adBreakState.completedReason) {
346
+ // Whoever completed it could not advance (this call still
347
+ // holds `loadingNext`), and nothing else drains the pending
348
+ // list — a non-empty list blocks midroll ingress outright.
349
+ if (!this.adBreakState)
350
+ await nextBreak();
344
351
  return;
352
+ }
345
353
  if (ad) {
346
354
  this.startAd(ad);
347
355
  }
@@ -517,16 +525,22 @@ export class AdControllerImpl extends EventHostImpl {
517
525
  if (!adState.quartile.first &&
518
526
  currProgress > 0.25 &&
519
527
  progressStart < AD_START_TOLERANCE) {
528
+ adState.quartile.first = true;
529
+ logDebug(this, 'adFirstQuartile', adState.ad);
520
530
  this.dispatch('adFirstQuartile', createAdProgressEvent(adState));
521
531
  }
522
532
  if (!adState.quartile.midpoint &&
523
533
  currProgress > 0.5 &&
524
534
  progressStart < 0.25 + AD_START_TOLERANCE) {
535
+ adState.quartile.midpoint = true;
536
+ logDebug(this, 'adMidpoint', adState.ad);
525
537
  this.dispatch('adMidpoint', createAdProgressEvent(adState));
526
538
  }
527
539
  if (!adState.quartile.third &&
528
540
  currProgress > 0.75 &&
529
541
  progressStart < 0.5 + AD_START_TOLERANCE) {
542
+ adState.quartile.third = true;
543
+ logDebug(this, 'adThirdQuartile', adState.ad);
530
544
  this.dispatch('adThirdQuartile', createAdProgressEvent(adState));
531
545
  }
532
546
  // adEnded is not on progress but on a call to `endAd()`.
@@ -213,16 +213,28 @@ function resolveHlsAssetContent({ range, startTime, duration, baseUrl, }) {
213
213
  return { ads: [], skipControl: null };
214
214
  }
215
215
  async function resolveHlsAssetList({ assetListUrl, rangeId, startTime, baseUrl, }) {
216
+ // X-ASSET-LIST "MAY be absolute, or it MAY be relative to the URI of the
217
+ // Playlist."
218
+ // @see https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-22#appendix-D.2
216
219
  const url = resolveUrl(assetListUrl, baseUrl);
217
220
  const response = await requestWithRetry(url);
218
221
  const json = await readResponseBody(response, 'json');
222
+ // A custom requester may return a synthesized Response with no url.
223
+ const assetListBaseUrl = response.url || url;
219
224
  const assets = json.ASSETS ?? [];
220
225
  const ads = assets.map((asset, i) => {
221
226
  return {
222
227
  id: `${rangeId}-${i}`,
223
228
  startTime,
224
229
  duration: asset.DURATION ?? null,
225
- uri: resolveUrl(asset.URI, baseUrl),
230
+ // Each Asset-Description "URI" MUST be an absolute URI, so the base
231
+ // only applies to non-conforming lists. As a leniency (not a spec
232
+ // rule), resolve against the asset list the URI was read from, as
233
+ // for any relative reference in a retrieved document (RFC 3986
234
+ // §5.1.3): asset lists are commonly served by an ad server rather
235
+ // than alongside the playlist.
236
+ // @see https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-22#appendix-D.2
237
+ uri: resolveUrl(asset.URI, assetListBaseUrl),
226
238
  };
227
239
  });
228
240
  return { ads, skipControl: parseSkipControl(json['SKIP-CONTROL']) };
@@ -1 +1 @@
1
- {"version":3,"file":"MsCommonEme.d.ts","sourceRoot":"","sources":["../../../../../src/drm/commonEme/MsCommonEme.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,UAAU,EAGf,aAAa,EACb,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAE1B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,wBAAwB,EAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,wBAAyB,SAAQ,mBAAmB;QAC1D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;KAC5C;IAED,UAAU,qBAAsB,SAAQ,KAAK;QACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;KACpD;CACJ;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,SAAS;IACzC,2BAA2B,CACvB,SAAS,EAAE,YAAY,EACvB,uBAAuB,EAAE,SAAS,2BAA2B,EAAE,GAChE,OAAO,CAAC,0BAA0B,CAAC;IA4BtC;;OAEG;IACH,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAC9C,WAAW;CAMjB;AAED,qBAAa,4BAA6B,YAAW,0BAA0B;IAC/D,QAAQ,CAAC,SAAS,EAAE,YAAY;gBAAvB,SAAS,EAAE,YAAY;IAE5C,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAM9C;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,eAAe;aAEjC,SAAS,EAAE,YAAY;aACvB,SAAS,EAAE,WAAW;gBADtB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,WAAW;IAG1C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE,aAAa,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,GAC5B,qBAAqB;CAY3B;AAED;;GAEG;AACH,qBAAa,uBACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,UAAU;IAKxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IANxC,OAAO,CAAC,SAAS,CAAiB;gBAGb,OAAO,EAAE,iBAAiB,EAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB;IAOxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI9B;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAW5B;IAED,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAOlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAgBvE"}
1
+ {"version":3,"file":"MsCommonEme.d.ts","sourceRoot":"","sources":["../../../../../src/drm/commonEme/MsCommonEme.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,UAAU,EAGf,aAAa,EACb,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAE1B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,wBAAwB,EAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,wBAAyB,SAAQ,mBAAmB;QAC1D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;KAC5C;IAED,UAAU,qBAAsB,SAAQ,KAAK;QACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;KACpD;CACJ;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,SAAS;IACzC,2BAA2B,CACvB,SAAS,EAAE,YAAY,EACvB,uBAAuB,EAAE,SAAS,2BAA2B,EAAE,GAChE,OAAO,CAAC,0BAA0B,CAAC;IA4BtC;;OAEG;IACH,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAC9C,WAAW;CAMjB;AAED,qBAAa,4BAA6B,YAAW,0BAA0B;IAC/D,QAAQ,CAAC,SAAS,EAAE,YAAY;gBAAvB,SAAS,EAAE,YAAY;IAE5C,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAM9C;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,eAAe;aAEjC,SAAS,EAAE,YAAY;aACvB,SAAS,EAAE,WAAW;gBADtB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,WAAW;IAG1C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE,aAAa,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,GAC5B,qBAAqB;CAY3B;AAED;;GAEG;AACH,qBAAa,uBACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,UAAU;IAKxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IANxC,OAAO,CAAC,SAAS,CAAiB;gBAGb,OAAO,EAAE,iBAAiB,EAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB;IAOxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI9B;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAW5B;IAED,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAOlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAgBvE"}
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { bufferToByteArray, DisposedError, ErrorOrigin, EventHostImpl, } from '@amazon/vinyl-util';
5
+ import { bufferToArrayBuffer, bufferToByteArray, DisposedError, ErrorOrigin, EventHostImpl, } from '@amazon/vinyl-util';
6
6
  import { CommonMediaKeySessionError, MediaKeySessionErrorType, } from './CommonEme';
7
7
  import { DrmError } from '../error/DrmError';
8
8
  /**
@@ -94,7 +94,7 @@ export class MsCommonMediaKeySession extends EventHostImpl {
94
94
  }
95
95
  messageHandler = (event) => {
96
96
  this.dispatch('message', {
97
- message: event.message.buffer,
97
+ message: bufferToArrayBuffer(event.message),
98
98
  });
99
99
  };
100
100
  errorHandler = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"StandardCommonEme.d.ts","sourceRoot":"","sources":["../../../../../src/drm/commonEme/StandardCommonEme.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,UAAU,EAEf,aAAa,EAEb,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,SAAS,EACT,yBAAyB,EAEzB,eAAe,EACf,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC7B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACzC,2BAA2B,CAC7B,SAAS,EAAE,YAAY,EACvB,uBAAuB,EAAE,SAAS,2BAA2B,EAAE,GAChE,OAAO,CAAC,0BAA0B,CAAC;IAOtC,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GACpD,WAAW;CAIjB;AAED;;GAEG;AACH,qBAAa,kCAAmC,YAAW,0BAA0B;aAE7D,SAAS,EAAE,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADP,SAAS,EAAE,YAAY,EACtB,MAAM,EAAE,oBAAoB;IAGjD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAMpD;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,eAAe;aAEvC,SAAS,EAAE,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADV,SAAS,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAGzC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,oBAAoB,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,aAAa,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,GAC5B,qBAAqB;CAQ3B;AAED;;GAEG;AACH,qBAAa,6BACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,UAAU;IAexC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAhBxC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI9B;gBAGoB,OAAO,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB;IAsBxC,OAAO,CAAC,eAAe;IAUvB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAMlB"}
1
+ {"version":3,"file":"StandardCommonEme.d.ts","sourceRoot":"","sources":["../../../../../src/drm/commonEme/StandardCommonEme.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,UAAU,EAEf,aAAa,EAEb,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,SAAS,EACT,yBAAyB,EAEzB,eAAe,EACf,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC7B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACzC,2BAA2B,CAC7B,SAAS,EAAE,YAAY,EACvB,uBAAuB,EAAE,SAAS,2BAA2B,EAAE,GAChE,OAAO,CAAC,0BAA0B,CAAC;IAOtC,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GACpD,WAAW;CAIjB;AAED;;GAEG;AACH,qBAAa,kCAAmC,YAAW,0BAA0B;aAE7D,SAAS,EAAE,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADP,SAAS,EAAE,YAAY,EACtB,MAAM,EAAE,oBAAoB;IAGjD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAMpD;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,eAAe;aAEvC,SAAS,EAAE,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADV,SAAS,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS;IAGzC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,oBAAoB,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,aAAa,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,GAC5B,qBAAqB;CAQ3B;AAED;;GAEG;AACH,qBAAa,6BACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,UAAU;IAexC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAhBxC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI9B;gBAGoB,OAAO,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB;IAsBxC,OAAO,CAAC,eAAe;IAQvB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAMlB"}
@@ -104,9 +104,10 @@ export class StandardCommonMediaKeySession extends EventHostImpl {
104
104
  });
105
105
  }
106
106
  generateRequest() {
107
- const initData = this.initData;
107
+ // `initData` is already a BufferSource; reading `buffer` from a view
108
+ // would ignore its offset and length.
108
109
  return this.session
109
- .generateRequest(this.initDataType, initData instanceof ArrayBuffer ? initData : initData.buffer)
110
+ .generateRequest(this.initDataType, this.initData)
110
111
  .catch(createDrmErrorHandler());
111
112
  }
112
113
  update(key) {
@@ -1 +1 @@
1
- {"version":3,"file":"WebKitCommonEme.d.ts","sourceRoot":"","sources":["../../../../../src/drm/commonEme/WebKitCommonEme.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAEH,KAAK,UAAU,EAGf,aAAa,EAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC7B,MAAM,aAAa,CAAA;AACpB,OAAO,EAEH,wBAAwB,EAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,wBAAyB,SAAQ,mBAAmB;QAC1D,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAA;KACpD;IAED,UAAU,yBAA0B,SAAQ,KAAK;QAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;KACpD;CACJ;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAC7C,2BAA2B,CACvB,SAAS,EAAE,YAAY,EACvB,uBAAuB,EAAE,SAAS,2BAA2B,EAAE,GAChE,OAAO,CAAC,0BAA0B,CAAC;IA4BtC,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GACpD,WAAW;CAIjB;AAED,qBAAa,gCAAiC,YAAW,0BAA0B;aACnD,SAAS,EAAE,YAAY;gBAAvB,SAAS,EAAE,YAAY;IAEnD,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAQ9C;AAED,eAAe;AACf,qBAAa,qBAAsB,YAAW,eAAe;aAErC,SAAS,EAAE,YAAY;aACvB,SAAS,EAAE,eAAe;gBAD1B,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,eAAe;IAG9C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE,aAAa,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,GAC5B,qBAAqB;CAY3B;AAED,eAAe;AACf,qBAAa,2BACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,UAAU;IAKxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IANxC,OAAO,CAAC,SAAS,CAAiB;gBAGb,OAAO,EAAE,qBAAqB,EACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB;IAOxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI9B;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAW5B;IAED,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,IAAI,QAAQ,YAEX;IAED,OAAO,IAAI,IAAI;CAWlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAgB3E"}
1
+ {"version":3,"file":"WebKitCommonEme.d.ts","sourceRoot":"","sources":["../../../../../src/drm/commonEme/WebKitCommonEme.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAGH,KAAK,UAAU,EAGf,aAAa,EAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC7B,MAAM,aAAa,CAAA;AACpB,OAAO,EAEH,wBAAwB,EAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,wBAAyB,SAAQ,mBAAmB;QAC1D,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAA;KACpD;IAED,UAAU,yBAA0B,SAAQ,KAAK;QAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;KACpD;CACJ;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAC7C,2BAA2B,CACvB,SAAS,EAAE,YAAY,EACvB,uBAAuB,EAAE,SAAS,2BAA2B,EAAE,GAChE,OAAO,CAAC,0BAA0B,CAAC;IA4BtC,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GACpD,WAAW;CAIjB;AAED,qBAAa,gCAAiC,YAAW,0BAA0B;aACnD,SAAS,EAAE,YAAY;gBAAvB,SAAS,EAAE,YAAY;IAEnD,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAQ9C;AAED,eAAe;AACf,qBAAa,qBAAsB,YAAW,eAAe;aAErC,SAAS,EAAE,YAAY;aACvB,SAAS,EAAE,eAAe;gBAD1B,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,eAAe;IAG9C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE,aAAa,CACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,GAC5B,qBAAqB;CAY3B;AAED,eAAe;AACf,qBAAa,2BACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,UAAU;IAKxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IANxC,OAAO,CAAC,SAAS,CAAiB;gBAGb,OAAO,EAAE,qBAAqB,EACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB;IAOxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAI9B;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAW5B;IAED,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,IAAI,QAAQ,YAEX;IAED,OAAO,IAAI,IAAI;CAWlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAgB3E"}
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { bufferToByteArray, DisposedError, ErrorOrigin, EventHostImpl, } from '@amazon/vinyl-util';
5
+ import { bufferToArrayBuffer, bufferToByteArray, DisposedError, ErrorOrigin, EventHostImpl, } from '@amazon/vinyl-util';
6
6
  import { CommonMediaKeySessionError, MediaKeySessionErrorType, } from './CommonEme';
7
7
  import { DrmError } from '../error/DrmError';
8
8
  /**
@@ -87,7 +87,7 @@ export class WebKitCommonMediaKeySession extends EventHostImpl {
87
87
  }
88
88
  messageHandler = (event) => {
89
89
  this.dispatch('message', {
90
- message: event.message.buffer,
90
+ message: bufferToArrayBuffer(event.message),
91
91
  });
92
92
  };
93
93
  errorHandler = () => {
@@ -41,6 +41,6 @@ export interface MSMediaKeySessionEventMap {
41
41
  readonly mskeyerror: Event;
42
42
  }
43
43
  export interface MSMediaKeyMessageEvent extends Event {
44
- readonly message: Uint8Array;
44
+ readonly message: Uint8Array<ArrayBuffer>;
45
45
  }
46
46
  //# sourceMappingURL=MSMediaKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSMediaKeys.d.ts","sourceRoot":"","sources":["../../../../../src/drm/dom/MSMediaKeys.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAI/C;;;;GAIG;AAEH,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,WAAW;QACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;oBAEd,SAAS,EAAE,MAAM;QAE7B,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;QAExE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,iBAAiB;KACvE;IAED,MAAM,eAAe;QACjB,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAA;QACtD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;QAC/C,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;QAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAC9B;IAED,UAAU,iBAAkB,SAAQ,WAAW;QAC3C,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAA;QACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAA;QAClC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAA;QAClC,cAAc,EAAE,aAAa,GAAG,IAAI,CAAA;QACpC,SAAS,EAAE,MAAM,CAAA;QAEjB,KAAK,IAAI,IAAI,CAAA;QAEb,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;QAE7B,gBAAgB,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,iBAAiB,EACvB,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAC/B,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,mBAAmB,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,iBAAiB,EACvB,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAC/B,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;QAEP,mBAAmB,CACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;KACV;CACJ;AAED,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAuB,SAAQ,KAAK;IACjD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAC/B"}
1
+ {"version":3,"file":"MSMediaKeys.d.ts","sourceRoot":"","sources":["../../../../../src/drm/dom/MSMediaKeys.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAI/C;;;;GAIG;AAEH,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,WAAW;QACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;oBAEd,SAAS,EAAE,MAAM;QAE7B,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;QAExE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,iBAAiB;KACvE;IAED,MAAM,eAAe;QACjB,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAA;QACtD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;QAC/C,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;QAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAC9B;IAED,UAAU,iBAAkB,SAAQ,WAAW;QAC3C,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAA;QACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAA;QAClC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAA;QAClC,cAAc,EAAE,aAAa,GAAG,IAAI,CAAA;QACpC,SAAS,EAAE,MAAM,CAAA;QAEjB,KAAK,IAAI,IAAI,CAAA;QAEb,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;QAE7B,gBAAgB,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,iBAAiB,EACvB,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAC/B,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,mBAAmB,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,iBAAiB,EACvB,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAC/B,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;QAEP,mBAAmB,CACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;KACV;CACJ;AAED,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAuB,SAAQ,KAAK;IACjD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAC5C"}
@@ -45,6 +45,6 @@ export interface WebKitMediaKeySessionEventMap {
45
45
  readonly webkitkeyerror: Event;
46
46
  }
47
47
  export interface WebKitMediaKeyMessageEvent extends Event {
48
- readonly message: Uint8Array;
48
+ readonly message: Uint8Array<ArrayBuffer>;
49
49
  }
50
50
  //# sourceMappingURL=WebKitMediaKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebKitMediaKeys.d.ts","sourceRoot":"","sources":["../../../../../src/drm/dom/WebKitMediaKeys.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;GAQG;AAEH,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,eAAe;QACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;oBAEd,SAAS,EAAE,MAAM;QAE7B,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;QAExE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,qBAAqB;KAC3E;IAED,MAAM,mBAAmB;QACrB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;QAC3C,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;QAC3C,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAA;QACnD,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;QAE3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAC9B;IAED,UAAU,qBAAsB,SAAQ,WAAW;QAC/C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;QAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAA;QACtC,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAA;QACtC,kBAAkB,EAAE,aAAa,GAAG,IAAI,CAAA;QACxC,SAAS,EAAE,MAAM,CAAA;QAEjB,KAAK,IAAI,IAAI,CAAA;QAEb,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;QAE1C,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC1D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,qBAAqB,EAC3B,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KACnC,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC7D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,qBAAqB,EAC3B,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KACnC,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;QAEP,mBAAmB,CACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;KACV;CACJ;AAED,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAA;IACrD,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAA;CACjC;AAED,MAAM,WAAW,0BAA2B,SAAQ,KAAK;IACrD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAC/B"}
1
+ {"version":3,"file":"WebKitMediaKeys.d.ts","sourceRoot":"","sources":["../../../../../src/drm/dom/WebKitMediaKeys.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;GAQG;AAEH,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,eAAe;QACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;oBAEd,SAAS,EAAE,MAAM;QAE7B,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;QAExE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,qBAAqB;KAC3E;IAED,MAAM,mBAAmB;QACrB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;QAC3C,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;QAC3C,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAA;QACnD,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;QAE3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAC9B;IAED,UAAU,qBAAsB,SAAQ,WAAW;QAC/C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;QAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAA;QACtC,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAA;QACtC,kBAAkB,EAAE,aAAa,GAAG,IAAI,CAAA;QACxC,SAAS,EAAE,MAAM,CAAA;QAEjB,KAAK,IAAI,IAAI,CAAA;QAEb,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;QAE1C,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC1D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,qBAAqB,EAC3B,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KACnC,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAA;QAEP,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC7D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CACN,IAAI,EAAE,qBAAqB,EAC3B,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KACnC,GAAG,EACR,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;QAEP,mBAAmB,CACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAA;KACV;CACJ;AAED,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAA;IACrD,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAA;CACjC;AAED,MAAM,WAAW,0BAA2B,SAAQ,KAAK;IACrD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAC5C"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { ValidationError } from '@amazon/vinyl-util';
6
6
  import { ErrorOrigin } from '@amazon/vinyl-util';
7
- import { bufferToUtf16 } from '@amazon/vinyl-util';
7
+ import { bufferToArrayBuffer, bufferToUtf16 } from '@amazon/vinyl-util';
8
8
  /**
9
9
  * Extract contentId from event data encoded as UTF16.
10
10
  *
@@ -12,7 +12,7 @@ import { bufferToUtf16 } from '@amazon/vinyl-util';
12
12
  * `skd://0b5689bb-4171-97e5-c280-99f7abe4004f`
13
13
  */
14
14
  export function extractContentId(initData) {
15
- const bufferStr = bufferToUtf16(initData.buffer);
15
+ const bufferStr = bufferToUtf16(bufferToArrayBuffer(initData));
16
16
  const matches = bufferStr.match(/skd:\/\/(.+)$/);
17
17
  if (!matches) {
18
18
  throw new ValidationError('No contentId match', ErrorOrigin.MEDIA);
@@ -15,7 +15,7 @@ export interface PlaybackControllerImplOptions {
15
15
  * The minimum number of seconds before the end of the next seekable range allowed for a seek
16
16
  * operation. Some browsers will never complete a seek operation if the seek is too close to
17
17
  * this end range.
18
- * Default: getMinSeekableBufferDefault() which is between 0.5 and 5, browser dependent.
18
+ * Default: getMinSeekableBufferDefault(), which is 2 on Chromium and 5 elsewhere.
19
19
  */
20
20
  readonly minSeekableBuffer: number;
21
21
  /**
@@ -141,7 +141,9 @@ export interface MediaQualityMetadata extends MediaFormatMetadata {
141
141
  * An array restricts switching to only the listed group IDs.
142
142
  * Default behavior:
143
143
  * - DASH: restricted to own group unless adaptation-set-switching property is present.
144
- * - HLS: restricted to variants with the same base codec and language.
144
+ * - HLS: unconstrained (null). Every variant is one group, and renditions are
145
+ * selected by the media timeline's language and accessibility filters
146
+ * rather than by a switching group.
145
147
  */
146
148
  readonly switchingGroupIds: readonly string[] | null;
147
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaQualityMetadata.d.ts","sourceRoot":"","sources":["../../../../src/streaming/MediaQualityMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaQualityMetadata.d.ts","sourceRoot":"","sources":["../../../../src/streaming/MediaQualityMetadata.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export interface SegmentControllerImplDeps {
18
18
  export interface SegmentControllerImplOptions {
19
19
  /**
20
20
  * The amount of time ahead of the playhead to prefetch when the track is active.
21
- * Default: 240
21
+ * Default: 180
22
22
  */
23
23
  readonly prefetchActive: number;
24
24
  /**
@@ -119,7 +119,7 @@ export interface BufferingControllerImplOptions {
119
119
  readonly minBuffer: number;
120
120
  /**
121
121
  * The maximum number of bytes to append at a time per content type.
122
- * Default: { audio: 1MiB, video: 15MiB }
122
+ * Default: { audio: 10MiB, video: 150MiB }
123
123
  */
124
124
  readonly maxAppendSize: Partial<Record<ContentType, number>>;
125
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BufferingController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/BufferingController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BufferingController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/BufferingController.ts"],"names":[],"mappings":"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"}
@@ -277,20 +277,29 @@ export class BufferingControllerImpl extends EventHostImpl {
277
277
  return;
278
278
  }
279
279
  const byteLength = streamingSegment.data.byteLength;
280
- if (byteLength > appendSize) {
280
+ // Measured against the bytes still to append rather than the whole
281
+ // segment: the playhead draining the buffer widens the budget, which
282
+ // would otherwise re-append what is already buffered.
283
+ const remaining = byteLength - this.appendOffset;
284
+ const firstAppend = this.appendOffset === 0;
285
+ if (remaining > appendSize) {
281
286
  const newOffset = this.appendOffset + appendSize;
282
287
  const chunk = streamingSegment.data.slice(this.appendOffset, newOffset);
283
288
  await sourceBufferController.append(chunk);
284
- if (this.appendOffset === 0) {
289
+ if (firstAppend) {
285
290
  this.buffered.push(streamingSegment);
286
291
  }
287
292
  this.appendOffset = newOffset;
288
293
  logVerbose(this, `appended chunk, this.appendOffset: ${this.appendOffset}`);
289
294
  }
290
295
  else {
291
- await sourceBufferController.append(streamingSegment.data);
292
- this.appendOffset = streamingSegment.data.byteLength;
293
- this.buffered.push(streamingSegment);
296
+ await sourceBufferController.append(firstAppend
297
+ ? streamingSegment.data
298
+ : streamingSegment.data.slice(this.appendOffset));
299
+ this.appendOffset = byteLength;
300
+ if (firstAppend) {
301
+ this.buffered.push(streamingSegment);
302
+ }
294
303
  }
295
304
  if (!tail)
296
305
  this.refreshHead(); // Update quality immediately if buffer was empty
@@ -1 +1 @@
1
- {"version":3,"file":"MediaSourceController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/MediaSourceController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaSourceController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/MediaSourceController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EAGd,KAAK,UAAU,EAKf,aAAa,EAGb,KAAK,IAAI,EAET,KAAK,SAAS,EAEd,KAAK,iBAAiB,EAEtB,eAAe,EAGlB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIrD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAEnC,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAC/B;AAED,MAAM,WAAW,6BAA6B;IAC1C;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAA;IAE9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAA;IAEjC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAClC;AAED,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB,CAAC,6BAA6B,CAAC;IACnG;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,6BAA6B;IACxE;;OAEG;IACH,kBAAkB,CACd,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACjB,eAAe,CAAA;IAElB;;;OAGG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE3C;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,IAAI,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC1C;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,WAAW,CAAA;IAE9C;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;IAE7C;;OAEG;IACH,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7E;AAED,qBAAa,yBACT,SAAQ,aAAa,CAAC,6BAA6B,CACnD,YAAW,qBAAqB,EAAE,SAAS;IAoB/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAlBjC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAExD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAI;gBAEI,IAAI,EAAE,6BAA6B;IAIhE,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,QAAQ,IAAI,MAAM;IAwDlB,UAAU;IAmBV,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAM5B;IAED;;;;;;OAMG;YACW,eAAe;IAqB7B,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,kBAAkB,CACd,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACjB,eAAe;IA0ClB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAE1B;IAED,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB;IAKpC,IAAI,aAAa,IAAI,OAAO,CAK3B;IAED,OAAO;CAIV;AAED,qBAAa,gBAAiB,SAAQ,eAAe;IAO7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAN3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAGG,OAAO,EAAE,MAAM,EACE,MAAM,EAAE,KAAK;IAMlC,MAAM,IAAI,IAAI;CAMjB"}
@@ -86,6 +86,10 @@ export class MediaSourceControllerImpl extends EventHostImpl {
86
86
  // at the token check rather than setting duration (and logging) after
87
87
  // deactivation.
88
88
  ++this.durationToken;
89
+ // The next activation builds its own media source, whose duration has
90
+ // not been set; readiness must not carry over from this one. The
91
+ // 'sourceclose' handler cannot do it — its listener is already gone.
92
+ this.durationSet = false;
89
93
  try {
90
94
  URL.revokeObjectURL(this.objectUrl);
91
95
  }
@@ -5,8 +5,8 @@ import type { TextTrackInfo } from './TextTrack';
5
5
  *
6
6
  * Considers an `<AdaptationSet>` to carry text when one of:
7
7
  * - `contentType="text"`
8
- * - `mimeType` starts with `text/` (e.g. `text/vtt`)
9
- * - `mimeType` is `application/mp4` *and* the codec/role indicates text
8
+ * - its `mimeType`, or that of one of its `<Representation>`s, starts with
9
+ * `text/` (e.g. `text/vtt`)
10
10
  *
11
11
  * Within a text adaptation set, each `<Representation>` becomes one
12
12
  * {@link TextTrackInfo}. The `BaseURL` chain (MPD → Period → AdaptationSet →
@@ -8,8 +8,8 @@ import { resolveUrl } from '@amazon/vinyl-util';
8
8
  *
9
9
  * Considers an `<AdaptationSet>` to carry text when one of:
10
10
  * - `contentType="text"`
11
- * - `mimeType` starts with `text/` (e.g. `text/vtt`)
12
- * - `mimeType` is `application/mp4` *and* the codec/role indicates text
11
+ * - its `mimeType`, or that of one of its `<Representation>`s, starts with
12
+ * `text/` (e.g. `text/vtt`)
13
13
  *
14
14
  * Within a text adaptation set, each `<Representation>` becomes one
15
15
  * {@link TextTrackInfo}. The `BaseURL` chain (MPD → Period → AdaptationSet →
@@ -83,7 +83,8 @@ function isTextAdaptationSet(adaptationSet) {
83
83
  const mt = adaptationSet.mimeType;
84
84
  if (mt && mt.startsWith('text/'))
85
85
  return true;
86
- return false;
86
+ // `mimeType` may be declared on the Representation rather than the set.
87
+ return (adaptationSet.Representation ?? []).some((representation) => representation.mimeType?.startsWith('text/'));
87
88
  }
88
89
  function isSidecarTextMime(mimeType) {
89
90
  // Permissive when manifest omits the MIME type, otherwise require a
@@ -1 +1 @@
1
- {"version":3,"file":"parseWebVtt.d.ts","sourceRoot":"","sources":["../../../../src/text/parseWebVtt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAoGzD"}
1
+ {"version":3,"file":"parseWebVtt.d.ts","sourceRoot":"","sources":["../../../../src/text/parseWebVtt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAqGzD"}
@@ -44,9 +44,10 @@ export function parseWebVtt(input) {
44
44
  // Per the WebVTT spec, everything from the `WEBVTT` signature up to (and
45
45
  // including) the first blank line is the file header — metadata lines (e.g.
46
46
  // HLS's `X-TIMESTAMP-MAP=...`) belong in that block and MUST NOT be
47
- // interpreted as cue content.
47
+ // interpreted as cue content. The header also ends at a timing line, so a
48
+ // document that omits the blank line still has its first cue parsed.
48
49
  let i = 1;
49
- while (i < lines.length && lines[i] !== '')
50
+ while (i < lines.length && lines[i] !== '' && !lines[i].includes('-->'))
50
51
  i++;
51
52
  while (i < lines.length) {
52
53
  // Skip blank lines between blocks.
@@ -1 +1 @@
1
- {"version":3,"file":"TrackController.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrackController.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackController.ts"],"names":[],"mappings":"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"}
@@ -401,6 +401,13 @@ export class TrackControllerImpl extends EventHostImpl {
401
401
  for (const cachedTrack of this.trackCache.values()) {
402
402
  cachedTrack.clearPrefetch();
403
403
  }
404
+ // Ad tracks are held per parent, outside the track cache, so they would
405
+ // otherwise keep the fragments fetched before the change and serve them
406
+ // when their break is entered.
407
+ for (const adTracks of this.adTracksByParent.values()) {
408
+ for (const adTrack of adTracks.values())
409
+ adTrack.clearPrefetch();
410
+ }
404
411
  }
405
412
  clearQueue() {
406
413
  // Clears the upcoming queue without unloading the current track.
@@ -14,6 +14,19 @@ export interface HlsManifestData {
14
14
  /**
15
15
  * Lazily fetches and caches a media playlist by variant URI.
16
16
  */
17
- readonly getMediaPlaylist: (uri: string) => Promise<HlsMediaPlaylist>;
17
+ readonly getMediaPlaylist: (uri: string) => Promise<HlsMediaPlaylistData>;
18
+ }
19
+ /**
20
+ * A media playlist with the URL its relative URIs resolve against.
21
+ */
22
+ export interface HlsMediaPlaylistData extends HlsMediaPlaylist {
23
+ /**
24
+ * The media playlist's URL after redirects, against which its segment, map,
25
+ * and date range URIs resolve. Guaranteed to be absolute when set.
26
+ *
27
+ * When absent, the variant URI resolved against
28
+ * {@link HlsManifestData.baseUrl} is used instead.
29
+ */
30
+ readonly baseUrl?: string;
18
31
  }
19
32
  //# sourceMappingURL=HlsManifestData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HlsManifestData.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/HlsManifestData.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACxE"}
1
+ {"version":3,"file":"HlsManifestData.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/HlsManifestData.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC5E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildHlsMediaTimeline.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/buildHlsMediaTimeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAKxF,OAAO,KAAK,EAGR,aAAa,EAChB,MAAM,+BAA+B,CAAA;AAOtC,OAAO,EAEH,KAAK,6BAA6B,EACrC,MAAM,8BAA8B,CAAA;AAMrC,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,QAAQ,CAAC,4BAA4B,EAAE,+BAA+B,CAAA;CACzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,yBAAyB,EAC/B,IAAI,EAAE,eAAe,GACtB,aAAa,CAsIf"}
1
+ {"version":3,"file":"buildHlsMediaTimeline.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/buildHlsMediaTimeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAKxF,OAAO,KAAK,EAGR,aAAa,EAChB,MAAM,+BAA+B,CAAA;AAOtC,OAAO,EAEH,KAAK,6BAA6B,EACrC,MAAM,8BAA8B,CAAA;AAMrC,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,QAAQ,CAAC,4BAA4B,EAAE,+BAA+B,CAAA;CACzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,yBAAyB,EAC/B,IAAI,EAAE,eAAe,GACtB,aAAa,CAsIf"}
@@ -142,7 +142,7 @@ function createHlsQualityData(deps, data, baseUrl, playlistUri, metadata) {
142
142
  metadata,
143
143
  async getSegment(time, affordance = 0) {
144
144
  const playlist = await data.getMediaPlaylist(playlistUri);
145
- const playlistBaseUrl = resolveUrl(playlistUri, baseUrl);
145
+ const playlistBaseUrl = getPlaylistBaseUrl(playlist, playlistUri, baseUrl);
146
146
  const segments = buildSegmentTimeline(deps, playlistBaseUrl, playlist.segments);
147
147
  const segment = getSegmentAtTime(time, segments, affordance);
148
148
  if (!segment)
@@ -193,6 +193,14 @@ async function discoverAdsFromManifest(data) {
193
193
  const contentDuration = media.ended
194
194
  ? media.segments.reduce((sum, s) => sum + s.duration, 0)
195
195
  : null;
196
- const playlistBaseUrl = resolveUrl(variant.uri, data.baseUrl);
196
+ const playlistBaseUrl = getPlaylistBaseUrl(media, variant.uri, data.baseUrl);
197
197
  return discoverHlsInterstitials(media, playlistBaseUrl, contentDuration);
198
198
  }
199
+ /**
200
+ * The URL a media playlist's relative URIs resolve against: the playlist's own
201
+ * URL after redirects when the provider supplies it, else the variant URI
202
+ * resolved against the main playlist's URL.
203
+ */
204
+ function getPlaylistBaseUrl(playlist, playlistUri, mainBaseUrl) {
205
+ return playlist.baseUrl ?? resolveUrl(playlistUri, mainBaseUrl);
206
+ }
@@ -1,5 +1,6 @@
1
- import type { HlsMainPlaylist, HlsMediaPlaylist } from '@amazon/vinyl-hls-parser';
1
+ import type { HlsMainPlaylist } from '@amazon/vinyl-hls-parser';
2
2
  import type { Maybe, ReadonlyAbort, RequestInitOptions } from '@amazon/vinyl-util';
3
+ import type { HlsMediaPlaylistData } from './HlsManifestData';
3
4
  import type { HlsManifestProvider } from './createHlsManifestProvider';
4
5
  export declare function createUrlHlsManifestProvider(url: string, requestInit?: RequestInitOptions): HlsManifestProvider;
5
6
  export interface FetchMediaPlaylistOptions {
@@ -17,5 +18,5 @@ export interface FetchMediaPlaylistOptions {
17
18
  /**
18
19
  * Fetches and parses an HLS media playlist from a variant URI.
19
20
  */
20
- export declare function fetchMediaPlaylist(options: FetchMediaPlaylistOptions): Promise<HlsMediaPlaylist>;
21
+ export declare function fetchMediaPlaylist(options: FetchMediaPlaylistOptions): Promise<HlsMediaPlaylistData>;
21
22
  //# sourceMappingURL=createUrlHlsManifestProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createUrlHlsManifestProvider.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/createUrlHlsManifestProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EACR,KAAK,EACL,aAAa,EACb,kBAAkB,EACrB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,wBAAgB,4BAA4B,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,kBAAkB,GACjC,mBAAmB,CAiCrB;AAED,MAAM,WAAW,yBAAyB;IACtC,uDAAuD;IACvD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IAC5C,sCAAsC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAChD,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;CACxC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,yBAAyB,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
1
+ {"version":3,"file":"createUrlHlsManifestProvider.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/createUrlHlsManifestProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EACR,KAAK,EACL,aAAa,EACb,kBAAkB,EACrB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,KAAK,EAAmB,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,wBAAgB,4BAA4B,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,kBAAkB,GACjC,mBAAmB,CAiCrB;AAED,MAAM,WAAW,yBAAyB;IACtC,uDAAuD;IACvD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IAC5C,sCAAsC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAChD,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;CACxC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,yBAAyB,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAe/B"}
@@ -36,11 +36,16 @@ export async function fetchMediaPlaylist(options) {
36
36
  const variantUrl = resolveUrl(uri, baseUrl);
37
37
  const response = await requestWithRetry(variantUrl, requestInit, { abort });
38
38
  const text = await readResponseBody(response, 'text');
39
- // The resolved URL (after redirects) carries the query parameters that
39
+ // The resolved URL (after redirects) is the base for the playlist's
40
+ // relative URIs, and carries the query parameters that
40
41
  // #EXT-X-DEFINE:QUERYPARAM entries resolve against (e.g. MediaTailor ad
41
42
  // manifests). Fall back to the requested URL if the response omits it.
42
- const queryParams = parseQueryParams(response.url || variantUrl);
43
- return parseMediaPlaylist(text, defines, queryParams);
43
+ const playlistUrl = response.url || variantUrl;
44
+ const queryParams = parseQueryParams(playlistUrl);
45
+ return {
46
+ ...parseMediaPlaylist(text, defines, queryParams),
47
+ baseUrl: playlistUrl,
48
+ };
44
49
  }
45
50
  /**
46
51
  * Extracts a URL's query parameters into a plain record for