@amazon/vinyl 3.2.2 → 3.2.3-next.20261001143710
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.cjs +62 -21
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +65 -22
- package/dist/index.js.map +3 -3
- package/dist/test/benchmark.es5.js +7 -6
- package/dist/test/benchmark.js +35 -30
- package/dist/test/benchmark.js.map +3 -3
- package/dist/test/integ.es5.js +184 -171
- package/dist/test/integ.js +450 -165
- package/dist/test/integ.js.map +4 -4
- package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -1
- package/dist/types/current/ad/AdControllerImpl.js +15 -1
- package/dist/types/current/ad/discoverHlsInterstitials.js +13 -1
- package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/MsCommonEme.js +2 -2
- package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/StandardCommonEme.js +3 -2
- package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/WebKitCommonEme.js +2 -2
- package/dist/types/current/drm/dom/MSMediaKeys.d.ts +1 -1
- package/dist/types/current/drm/dom/MSMediaKeys.d.ts.map +1 -1
- package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts +1 -1
- package/dist/types/current/drm/dom/WebKitMediaKeys.d.ts.map +1 -1
- package/dist/types/current/drm/util/extractContentId.js +2 -2
- package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -1
- package/dist/types/current/streaming/MediaQualityMetadata.d.ts +3 -1
- package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentControllerImpl.d.ts +1 -1
- package/dist/types/current/streaming/buffering/BufferingController.d.ts +1 -1
- package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/BufferingController.js +14 -5
- package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/MediaSourceController.js +4 -0
- package/dist/types/current/text/discoverDashTextTracks.d.ts +2 -2
- package/dist/types/current/text/discoverDashTextTracks.js +4 -3
- package/dist/types/current/text/parseWebVtt.d.ts.map +1 -1
- package/dist/types/current/text/parseWebVtt.js +3 -2
- package/dist/types/current/track/TrackController.d.ts.map +1 -1
- package/dist/types/current/track/TrackController.js +7 -0
- package/dist/types/current/track/hls/HlsManifestData.d.ts +14 -1
- package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -1
- package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
- package/dist/types/current/track/hls/buildHlsMediaTimeline.js +10 -2
- package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
- package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
- package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +8 -3
- package/dist/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -1
- package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +3 -1
- package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +1 -1
- package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +1 -1
- package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +2 -2
- package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +14 -1
- package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
- package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -1
- package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +3 -1
- package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +1 -1
- package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +1 -1
- package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +2 -2
- package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +14 -1
- package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
- package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -1
- package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +3 -1
- package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +1 -1
- package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +1 -1
- package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +2 -2
- package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +14 -1
- package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +3 -2
- package/dist/unit/types/current/ad/AdControllerImpl.test.js +66 -0
- package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +29 -2
- package/dist/unit/types/current/drm/commonEme/StandardCommonEme.test.js +12 -4
- package/dist/unit/types/current/drm/util/extractContentId.test.js +7 -0
- package/dist/unit/types/current/index.d.ts +1 -0
- package/dist/unit/types/current/index.d.ts.map +1 -1
- package/dist/unit/types/current/index.js +1 -0
- package/dist/unit/types/current/streaming/MediaQualityMetadata.test.js +8 -0
- package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +26 -0
- package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +29 -0
- package/dist/unit/types/current/text/TextTrack.test.d.ts +2 -0
- package/dist/unit/types/current/text/TextTrack.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/TextTrack.test.js +12 -0
- package/dist/unit/types/current/text/discoverDashTextTracks.test.js +17 -0
- package/dist/unit/types/current/text/parseWebVtt.test.js +26 -0
- package/dist/unit/types/current/track/TrackController.test.js +15 -60
- package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +22 -0
- package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +23 -0
- package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
- package/docs/CUSTOMIZATION_GUIDE.md +310 -0
- package/package.json +10 -10
- 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":"AAKA,OAAO,EAGH,aAAa,EAehB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,KAAK,WAAW,EAEhB,KAAK,MAAM,EACX,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAER,YAAY,EACZ,UAAU,EAEb,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AAExF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAA;CAC1D;AAED,MAAM,WAAW,uBAAuB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAE9B;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CACpC;AAED,eAAO,MAAM,8BAA8B,EAAE,uBAG5C,CAAA;AA2CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBACT,SAAQ,aAAa,CAAC,UAAU,CAChC,YAAW,YAAY;IAkCnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhCzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,WAAW,CAA2B;IAE9C,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,iBAAiB,CAAkB;IAI3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;IAE1D,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,eAAe,CAAoB;IAG3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAI3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAQ;gBAGN,IAAI,EAAE,oBAAoB,EAC3C,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAuD9C,iBAAiB,IAAI,IAAI;IAMzB,OAAO,CAAC,iBAAiB;IAKzB,8EAA8E;IAC9E,OAAO,CAAC,SAAS;IAUjB;;;;;OAKG;YACW,gBAAgB;IAwB9B,IAAI,eAAe,IAAI,QAAQ,GAAG,IAAI,CAErC;IAED,OAAO,CAAC,WAAW;IAqBnB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAK3B,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAkC5C,YAAY,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAI3C,aAAa,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAIpC,SAAS;IAgCvB,OAAO,KAAK,WAAW,GAEtB;IAED,WAAW,IAAI,IAAI;IAWnB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4CvB,IAAI,cAAc,IAAI,WAAW,GAAG,IAAI,CAEvC;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;IAqBlB;;;OAGG;IACH,OAAO,CAAC,aAAa;
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
|
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;
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
|
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;
|
|
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;
|
|
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
|
|
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
|
|
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:
|
|
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":"AAKA,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAU5D,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AAEpD,eAAO,MAAM,iBAAiB,4BAII,CAAA;AAElC;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AAElE,eAAO,MAAM,0BAA0B,oBAGO,CAAA;AAE9C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAExC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAAA;IAE7C;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEtD;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,SAAS,aAAa,EAAE,CAAA;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC/B;AAED,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,aAAa,CAKzD,CAAA;AAEN,eAAO,MAAM,4BAA4B,EAAE,YAAY,CAAC,mBAAmB,CAOrE,CAAA;AAEN;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC7D;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;IAEpD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAEpC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,gBAAgB,CAAA;IAEjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAE3C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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 (
|
|
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(
|
|
292
|
-
|
|
293
|
-
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"MediaSourceController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/MediaSourceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
9
|
-
*
|
|
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
|
|
12
|
-
*
|
|
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
|
-
|
|
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,
|
|
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<
|
|
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;
|
|
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,
|
|
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 =
|
|
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 =
|
|
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
|
|
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<
|
|
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,
|
|
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)
|
|
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
|
|
43
|
-
|
|
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
|