@amazon/vinyl 3.2.1 → 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 +98 -43
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +126 -68
- 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 +329 -312
- package/dist/test/integ.js +519 -187
- 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/DrmControllerImpl.d.ts +6 -0
- package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
- package/dist/types/current/drm/DrmControllerImpl.js +11 -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 +9 -3
- package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
- package/dist/types/current/playback/PlaybackControllerImpl.js +38 -33
- 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/track/mse/MseTrack.d.ts +0 -1
- package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
- package/dist/types/current/track/mse/MseTrack.js +5 -6
- package/dist/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +6 -0
- package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +9 -3
- 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/ts3.7/track/mse/MseTrack.d.ts +0 -1
- package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +6 -0
- package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +9 -3
- 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.1/track/mse/MseTrack.d.ts +0 -1
- package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +6 -0
- package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +9 -3
- 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/types/ts4.7/track/mse/MseTrack.d.ts +0 -1
- 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/DrmControllerImpl.test.js +19 -1
- 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/playback/PlaybackControllerImpl.test.js +15 -0
- package/dist/unit/types/current/streaming/MediaQualityMetadata.test.js +8 -0
- package/dist/unit/types/current/streaming/MseTrack.test.js +15 -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']) };
|
|
@@ -12,6 +12,12 @@ import type { TrackUri } from '../track/Track';
|
|
|
12
12
|
* indicates a stalled promise result from the license provider.
|
|
13
13
|
*/
|
|
14
14
|
export declare const LICENSE_TIMEOUT = 90;
|
|
15
|
+
/**
|
|
16
|
+
* An excessive number of concurrent key sessions. Sessions are expected to be
|
|
17
|
+
* closed as tracks deactivate; a count this high signals sessions are leaking
|
|
18
|
+
* (never closing) rather than a legitimate playback need.
|
|
19
|
+
*/
|
|
20
|
+
export declare const EXCESSIVE_SESSION_COUNT = 20;
|
|
15
21
|
/**
|
|
16
22
|
* Dependencies for creating DrmController.
|
|
17
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrmControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/drm/DrmControllerImpl.ts"],"names":[],"mappings":"AAKA,OAAO,EAUH,aAAa,
|
|
1
|
+
{"version":3,"file":"DrmControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/drm/DrmControllerImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 { AbortError, base64ToByteArray, buffersEqual, bufferToByteArray, clone, compareBy, createDisposer, ErrorOrigin, EventHostImpl, getUserAgentInfo, isSilentError, logDebug, logError, logVerbose, memoize, noop, normalizeHeadersInit, Os, remove, resolveValueProvider, withTimeout, } from '@amazon/vinyl-util';
|
|
5
|
+
import { AbortError, base64ToByteArray, buffersEqual, bufferToByteArray, clone, compareBy, createDisposer, ErrorOrigin, EventHostImpl, getUserAgentInfo, isSilentError, logDebug, logError, logVerbose, logWarn, memoize, noop, normalizeHeadersInit, Os, remove, resolveValueProvider, withTimeout, } from '@amazon/vinyl-util';
|
|
6
6
|
import { instanceOf, object } from '@amazon/vinyl-validation';
|
|
7
7
|
import { DrmRobustness, } from './DrmOptions';
|
|
8
8
|
import { DrmError } from './error/DrmError';
|
|
@@ -20,6 +20,12 @@ import { createFairPlaySessionInitData } from './util/createFairPlaySessionInitD
|
|
|
20
20
|
*/
|
|
21
21
|
export const LICENSE_TIMEOUT = 90;
|
|
22
22
|
const LICENSE_TIMEOUT_MESSAGE = 'License provider timed out after {time}s';
|
|
23
|
+
/**
|
|
24
|
+
* An excessive number of concurrent key sessions. Sessions are expected to be
|
|
25
|
+
* closed as tracks deactivate; a count this high signals sessions are leaking
|
|
26
|
+
* (never closing) rather than a legitimate playback need.
|
|
27
|
+
*/
|
|
28
|
+
export const EXCESSIVE_SESSION_COUNT = 20;
|
|
23
29
|
export class DrmControllerImpl extends EventHostImpl {
|
|
24
30
|
deps;
|
|
25
31
|
get [Symbol.toStringTag]() {
|
|
@@ -196,6 +202,10 @@ export class DrmControllerImpl extends EventHostImpl {
|
|
|
196
202
|
trackUri,
|
|
197
203
|
});
|
|
198
204
|
this.sessions.push(newSession);
|
|
205
|
+
logVerbose(this, `total sessions: ${this.sessions.length}`);
|
|
206
|
+
if (this.sessions.length === EXCESSIVE_SESSION_COUNT + 1) {
|
|
207
|
+
logWarn(this, `${this.sessions.length} open key sessions exceeds ${EXCESSIVE_SESSION_COUNT}; sessions may be leaking (not closing on track deactivation)`);
|
|
208
|
+
}
|
|
199
209
|
this.dispatch('sessionCreate', {
|
|
200
210
|
initDataType: newSession.initDataType,
|
|
201
211
|
mimeType: newSession.mimeType,
|
|
@@ -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
|
/**
|
|
@@ -63,12 +63,11 @@ export declare class PlaybackControllerImpl extends EventHostImpl<PlaybackContro
|
|
|
63
63
|
private _playing;
|
|
64
64
|
private _seeking;
|
|
65
65
|
private _waiting;
|
|
66
|
-
private
|
|
66
|
+
private readonly seekAbortSlot;
|
|
67
67
|
private stopStallDetection;
|
|
68
68
|
private userVolume;
|
|
69
69
|
private _pendingPlay;
|
|
70
70
|
private playAbort;
|
|
71
|
-
private disposeAbort;
|
|
72
71
|
readonly options: PlaybackControllerImplOptions;
|
|
73
72
|
constructor(deps: PlaybackControllerImplDeps, options?: Partial<PlaybackControllerImplOptions>);
|
|
74
73
|
/**
|
|
@@ -174,6 +173,13 @@ export declare class PlaybackControllerImpl extends EventHostImpl<PlaybackContro
|
|
|
174
173
|
get hasMetadata(): boolean;
|
|
175
174
|
get playIsPending(): boolean;
|
|
176
175
|
seekTo(time: number, tolerance?: number): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* The body of a single {@link seekTo} attempt. Extracted so {@link seekTo}
|
|
178
|
+
* can wrap it with per-seek abort/supersession handling. `seekAbort` is
|
|
179
|
+
* aborted when a newer seek supersedes this one (or on dispose).
|
|
180
|
+
* @private
|
|
181
|
+
*/
|
|
182
|
+
private doSeek;
|
|
177
183
|
/**
|
|
178
184
|
* Dispatches a readyStateChange event when {@link readyState} changes.
|
|
179
185
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaybackControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/playback/PlaybackControllerImpl.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"PlaybackControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/playback/PlaybackControllerImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 { Abort, AbortError, Browser, clamp, closeTo, createDisposer, createTimeRangesReader, DomEventHost, ErrorLevel, ErrorOrigin, EventHostImpl, hasBrowser, logDebug, logInfo, logWarn, nextEventAsPromise, noop, onAny, ownKeys, TimeoutSlot, toLowerCase, withAbort, withTimeout, } from '@amazon/vinyl-util';
|
|
5
|
+
import { Abort, AbortError, createAbortSlot, Browser, clamp, closeTo, createDisposer, createTimeRangesReader, DomEventHost, ErrorLevel, ErrorOrigin, EventHostImpl, hasBrowser, logDebug, logInfo, logWarn, nextEventAsPromise, noop, onAny, ownKeys, TimeoutSlot, toLowerCase, withAbort, withTimeout, } from '@amazon/vinyl-util';
|
|
6
6
|
import { LIVE_DURATION } from './PlaybackController';
|
|
7
7
|
import { PlaybackReadyState, playedReasons, waitedReasons, } from './ReadonlyPlaybackController';
|
|
8
8
|
import { createStallDetector } from './createStallDetector';
|
|
@@ -52,15 +52,13 @@ export class PlaybackControllerImpl extends EventHostImpl {
|
|
|
52
52
|
_playing = false;
|
|
53
53
|
_seeking = false;
|
|
54
54
|
_waiting = false;
|
|
55
|
-
|
|
56
|
-
_seekId = 0;
|
|
55
|
+
seekAbortSlot = createAbortSlot();
|
|
57
56
|
// Stops the stall detector started after the last seek, if any.
|
|
58
57
|
stopStallDetection = null;
|
|
59
58
|
// default user volume (0.0 to 1.0 scale)
|
|
60
59
|
userVolume = 1.0;
|
|
61
60
|
_pendingPlay = null;
|
|
62
61
|
playAbort = null;
|
|
63
|
-
disposeAbort = new Abort();
|
|
64
62
|
options;
|
|
65
63
|
constructor(deps, options) {
|
|
66
64
|
super();
|
|
@@ -75,8 +73,7 @@ export class PlaybackControllerImpl extends EventHostImpl {
|
|
|
75
73
|
this.media = deps.media;
|
|
76
74
|
const { add } = this.disposer;
|
|
77
75
|
add(() => {
|
|
78
|
-
this.
|
|
79
|
-
this.disposeAbort.dispose();
|
|
76
|
+
this.seekAbortSlot.abort();
|
|
80
77
|
this.stopStallDetection?.();
|
|
81
78
|
});
|
|
82
79
|
this.domEvents = add(new DomEventHost(deps.media));
|
|
@@ -471,34 +468,44 @@ export class PlaybackControllerImpl extends EventHostImpl {
|
|
|
471
468
|
}
|
|
472
469
|
async seekTo(time, tolerance = 0.5) {
|
|
473
470
|
logDebug(this, `seekTo: ${time}`);
|
|
474
|
-
// Claim this seek as the newest. A seek that parks on an await (e.g. waiting for loadedMetadata) can resume
|
|
475
|
-
// AFTER a later-issued seek has already applied its target.
|
|
476
|
-
const seekId = ++this._seekId;
|
|
477
471
|
// A new seek supersedes any stall watch from the previous one.
|
|
478
472
|
this.stopStallDetection?.();
|
|
479
473
|
this.stopStallDetection = null;
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
return false;
|
|
483
|
-
logDebug(this, `seekTo: ${time} superseded by a newer seek`);
|
|
484
|
-
return true;
|
|
485
|
-
};
|
|
474
|
+
this.seekAbortSlot.abort();
|
|
475
|
+
const seekAbort = this.seekAbortSlot.value;
|
|
486
476
|
const nextEvent = (type, options) => {
|
|
487
477
|
return nextEventAsPromise(this, type, {
|
|
488
478
|
timeout: options?.timeout ?? this.options.seekTimeout,
|
|
489
479
|
timeoutMessage: `seek timed out on ${type} event after {time}s`,
|
|
490
480
|
timeoutOrigin: ErrorOrigin.INTERNAL,
|
|
491
481
|
timeoutLevel: ErrorLevel.WARN,
|
|
492
|
-
abort:
|
|
482
|
+
abort: seekAbort,
|
|
493
483
|
});
|
|
494
484
|
};
|
|
495
|
-
|
|
485
|
+
try {
|
|
486
|
+
await this.doSeek(time, tolerance, seekAbort, nextEvent);
|
|
487
|
+
}
|
|
488
|
+
catch (error) {
|
|
489
|
+
// A newer seek aborted this one's waits: it owns the media element
|
|
490
|
+
// now, so resolve quietly (matching the mid-flight `aborted()`
|
|
491
|
+
// bail-outs). Dispose and any real error still propagate.
|
|
492
|
+
if (seekAbort.aborted() && !this.disposed)
|
|
493
|
+
return;
|
|
494
|
+
throw error;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* The body of a single {@link seekTo} attempt. Extracted so {@link seekTo}
|
|
499
|
+
* can wrap it with per-seek abort/supersession handling. `seekAbort` is
|
|
500
|
+
* aborted when a newer seek supersedes this one (or on dispose).
|
|
501
|
+
* @private
|
|
502
|
+
*/
|
|
503
|
+
async doSeek(time, tolerance, seekAbort, nextEvent) {
|
|
504
|
+
// Cannot seek until there are seekable ranges. If a newer seek supersedes
|
|
505
|
+
// this one while we wait, `seekAbort` rejects this await — the newer seek
|
|
506
|
+
// then owns the target, and this stale one resolves quietly in `seekTo`.
|
|
496
507
|
if (!this.hasMetadata) {
|
|
497
508
|
await nextEvent('loadedMetadata');
|
|
498
|
-
// A newer seek was issued while we waited — it already applied (or
|
|
499
|
-
// will apply) its target. Don't overwrite it with this stale one.
|
|
500
|
-
if (superseded())
|
|
501
|
-
return;
|
|
502
509
|
}
|
|
503
510
|
const seekable = this.seekable;
|
|
504
511
|
const range = seekable.getRangeAt(clamp(time, 0, this.duration), tolerance);
|
|
@@ -520,18 +527,15 @@ export class PlaybackControllerImpl extends EventHostImpl {
|
|
|
520
527
|
else {
|
|
521
528
|
// A dispose rejects the seek; a timeout means the attempt is stuck.
|
|
522
529
|
const nullIfStuck = (error) => {
|
|
523
|
-
if (this.
|
|
530
|
+
if (this.disposed)
|
|
524
531
|
throw error;
|
|
525
532
|
return null;
|
|
526
533
|
};
|
|
527
|
-
//
|
|
528
|
-
//
|
|
529
|
-
//
|
|
530
|
-
//
|
|
531
|
-
//
|
|
532
|
-
// `seeking` (a media that never starts seeking is a real timeout); a
|
|
533
|
-
// re-seek to the current position emits no fresh `seeking` on WebKit,
|
|
534
|
-
// so bound that wait and fall through to the stall detector.
|
|
534
|
+
// One seek attempt; returns the seeked event, or null if it didn't
|
|
535
|
+
// complete in SEEK_ATTEMPT_TIMEOUT. A re-seek to the current position
|
|
536
|
+
// emits no fresh `seeking` on WebKit, so bound that wait; the initial
|
|
537
|
+
// attempt keeps the full seekTimeout (a media that never starts
|
|
538
|
+
// seeking is a real timeout).
|
|
535
539
|
const seekOnce = async (reSeeking) => {
|
|
536
540
|
const seeking = reSeeking
|
|
537
541
|
? nextEvent('seeking', {
|
|
@@ -551,7 +555,7 @@ export class PlaybackControllerImpl extends EventHostImpl {
|
|
|
551
555
|
// outside tolerance of the target. Bounded, and not fighting a newer
|
|
552
556
|
// seek. The play() kick is fire-and-forget: a wedged seek can leave
|
|
553
557
|
// its promise unsettled forever, which would stall the retry loop.
|
|
554
|
-
for (let attempt = 0; !
|
|
558
|
+
for (let attempt = 0; !seekAbort.aborted() &&
|
|
555
559
|
attempt < SEEK_RETRY_LIMIT &&
|
|
556
560
|
(seekedEvent === null ||
|
|
557
561
|
(seekedEvent.reason === 'seeked' &&
|
|
@@ -567,8 +571,9 @@ export class PlaybackControllerImpl extends EventHostImpl {
|
|
|
567
571
|
}
|
|
568
572
|
// Some WebKit versions don't resume after seeking. Watch for that:
|
|
569
573
|
// nudge/kick playback back to life, and fabricate a playing event
|
|
570
|
-
// if it resumes without emitting one.
|
|
571
|
-
|
|
574
|
+
// if it resumes without emitting one. Skip when superseded — a newer
|
|
575
|
+
// seek owns the element and arms its own watch.
|
|
576
|
+
if (!this.paused && !seekAbort.aborted())
|
|
572
577
|
this.startStallDetection();
|
|
573
578
|
}
|
|
574
579
|
}
|
|
@@ -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
|