@hyperframes/core 0.8.58 → 0.8.60
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/dist/audioFade.d.ts +24 -0
- package/dist/audioFade.d.ts.map +1 -0
- package/dist/audioFade.js +56 -0
- package/dist/audioFade.js.map +1 -0
- package/dist/audioGain.d.ts +4 -0
- package/dist/audioGain.d.ts.map +1 -1
- package/dist/audioGain.js +12 -4
- package/dist/audioGain.js.map +1 -1
- package/dist/compositionReadiness.d.ts +12 -3
- package/dist/compositionReadiness.d.ts.map +1 -1
- package/dist/compositionReadiness.js +49 -5
- package/dist/compositionReadiness.js.map +1 -1
- package/dist/generated/audio-fx-runtime-inline.js +1 -1
- package/dist/generated/audio-fx-runtime-inline.js.map +1 -1
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.runtime.iife.js +25 -25
- package/dist/runtime/authoredTiming.d.ts +2 -0
- package/dist/runtime/authoredTiming.d.ts.map +1 -1
- package/dist/runtime/authoredTiming.js +2 -0
- package/dist/runtime/authoredTiming.js.map +1 -1
- package/dist/runtime/levelTap.d.ts +12 -0
- package/dist/runtime/levelTap.d.ts.map +1 -0
- package/dist/runtime/levelTap.js +38 -0
- package/dist/runtime/levelTap.js.map +1 -0
- package/dist/runtime/media.d.ts +115 -0
- package/dist/runtime/media.d.ts.map +1 -0
- package/dist/runtime/media.js +450 -0
- package/dist/runtime/media.js.map +1 -0
- package/dist/runtime/timeline.d.ts +14 -0
- package/dist/runtime/timeline.d.ts.map +1 -0
- package/dist/runtime/timeline.js +650 -0
- package/dist/runtime/timeline.js.map +1 -0
- package/docs/core.md +1 -0
- package/package.json +12 -4
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export type AuthoredTimingValue = string | number | null | undefined;
|
|
2
|
+
export declare const AUTHORED_DURATION_ATTR = "data-hf-authored-duration";
|
|
3
|
+
export declare const AUTHORED_END_ATTR = "data-hf-authored-end";
|
|
2
4
|
export interface RawAuthoredTiming {
|
|
3
5
|
start?: AuthoredTimingValue;
|
|
4
6
|
duration?: AuthoredTimingValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoredTiming.d.ts","sourceRoot":"","sources":["../../src/runtime/authoredTiming.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AASD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,iBAAiB,GACxB,oBAAoB,GAAG,IAAI,CAwB7B"}
|
|
1
|
+
{"version":3,"file":"authoredTiming.d.ts","sourceRoot":"","sources":["../../src/runtime/authoredTiming.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AASD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,iBAAiB,GACxB,oBAAoB,GAAG,IAAI,CAwB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoredTiming.js","sourceRoot":"","sources":["../../src/runtime/authoredTiming.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authoredTiming.js","sourceRoot":"","sources":["../../src/runtime/authoredTiming.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAgBxD,SAAS,YAAY,CAAC,KAA0B;IAC9C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAyB;IAEzB,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEvC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,QAAQ,GACZ,cAAc,IAAI,IAAI,IAAI,cAAc,GAAG,CAAC;QAC1C,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,iBAAiB,IAAI,IAAI,IAAI,iBAAiB,GAAG,CAAC;YAClD,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC;IAExE,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,GAAG,GACP,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,KAAK;YAC5C,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAC;IACb,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface StereoLevel {
|
|
2
|
+
l: number;
|
|
3
|
+
r: number;
|
|
4
|
+
}
|
|
5
|
+
export interface LevelTap {
|
|
6
|
+
/** Peak of the last analyser window per channel, linear 0..1+. */
|
|
7
|
+
read(): StereoLevel;
|
|
8
|
+
dispose(): void;
|
|
9
|
+
}
|
|
10
|
+
/** A side branch off `source`; the explicit-stereo gain up-mixes mono to both channels. */
|
|
11
|
+
export declare function createLevelTap(ctx: BaseAudioContext, source: AudioNode): LevelTap;
|
|
12
|
+
//# sourceMappingURL=levelTap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levelTap.d.ts","sourceRoot":"","sources":["../../src/runtime/levelTap.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,kEAAkE;IAClE,IAAI,IAAI,WAAW,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB;AAWD,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,CA0BjF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const WINDOW = 2048;
|
|
2
|
+
function peak(analyser, buf) {
|
|
3
|
+
analyser.getFloatTimeDomainData(buf);
|
|
4
|
+
let max = 0;
|
|
5
|
+
for (let i = 0; i < buf.length; i++)
|
|
6
|
+
max = Math.max(max, Math.abs(buf[i] ?? 0));
|
|
7
|
+
return max;
|
|
8
|
+
}
|
|
9
|
+
/** A side branch off `source`; the explicit-stereo gain up-mixes mono to both channels. */
|
|
10
|
+
export function createLevelTap(ctx, source) {
|
|
11
|
+
const mix = ctx.createGain();
|
|
12
|
+
mix.channelCount = 2;
|
|
13
|
+
mix.channelCountMode = "explicit";
|
|
14
|
+
const splitter = ctx.createChannelSplitter(2);
|
|
15
|
+
const left = ctx.createAnalyser();
|
|
16
|
+
const right = ctx.createAnalyser();
|
|
17
|
+
left.fftSize = right.fftSize = WINDOW;
|
|
18
|
+
source.connect(mix);
|
|
19
|
+
mix.connect(splitter);
|
|
20
|
+
splitter.connect(left, 0);
|
|
21
|
+
splitter.connect(right, 1);
|
|
22
|
+
const bufL = new Float32Array(new ArrayBuffer(WINDOW * 4));
|
|
23
|
+
const bufR = new Float32Array(new ArrayBuffer(WINDOW * 4));
|
|
24
|
+
return {
|
|
25
|
+
read: () => ({ l: peak(left, bufL), r: peak(right, bufR) }),
|
|
26
|
+
dispose: () => {
|
|
27
|
+
try {
|
|
28
|
+
source.disconnect(mix);
|
|
29
|
+
mix.disconnect();
|
|
30
|
+
splitter.disconnect();
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// Source already torn down.
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=levelTap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levelTap.js","sourceRoot":"","sources":["../../src/runtime/levelTap.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,GAAG,IAAI,CAAC;AAEpB,SAAS,IAAI,CAAC,QAAsB,EAAE,GAA8B;IAClE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,GAAqB,EAAE,MAAiB;IACrE,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;IAC7B,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;IACrB,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC;gBACH,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvB,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjB,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { type VolumeKeyframe } from "./mediaVolumeEnvelope.js";
|
|
2
|
+
import { type AudioFades } from "../audioFade.js";
|
|
3
|
+
import { type RateSpec } from "../speedRamp.js";
|
|
4
|
+
export { readElementPlaybackRate, readElementRateSpec, resolveNaturalMediaTimelineDuration, } from "./playbackRate.js";
|
|
5
|
+
export declare function readElementPlaybackStart(el: Element): number;
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a media element's timeline window without conflating a video's
|
|
8
|
+
* authored display slot with the amount of source left to decode.
|
|
9
|
+
*
|
|
10
|
+
* An explicit video slot may outlive its source and holds the final frame.
|
|
11
|
+
* Audio remains source-bounded because it has no visual hold state.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveRuntimeMediaClipDuration(params: {
|
|
14
|
+
isVideo: boolean;
|
|
15
|
+
sourceDuration: number | null;
|
|
16
|
+
hostRemaining: number | null;
|
|
17
|
+
explicitDuration: number | null;
|
|
18
|
+
}): number | null;
|
|
19
|
+
export type RuntimeMediaClip = {
|
|
20
|
+
el: HTMLVideoElement | HTMLAudioElement;
|
|
21
|
+
start: number;
|
|
22
|
+
mediaStart: number;
|
|
23
|
+
duration: number;
|
|
24
|
+
end: number;
|
|
25
|
+
volume: number | null;
|
|
26
|
+
playbackRate: number;
|
|
27
|
+
/** The rate lane when the clip has one; otherwise `playbackRate`. */
|
|
28
|
+
rate?: RateSpec;
|
|
29
|
+
loop: boolean;
|
|
30
|
+
/** Source media duration in seconds (from el.duration). Used for loop wrapping. */
|
|
31
|
+
sourceDuration: number | null;
|
|
32
|
+
/**
|
|
33
|
+
* Probed volume keyframes from the GSAP timeline (same probe the renderer
|
|
34
|
+
* uses). When present, `syncRuntimeMedia` drives volume from the envelope
|
|
35
|
+
* rather than from `data-volume` + GSAP-change tracking, eliminating the
|
|
36
|
+
* race between the 60 Hz transport tick and GSAP's own seek.
|
|
37
|
+
*/
|
|
38
|
+
volumeKeyframes?: VolumeKeyframe[];
|
|
39
|
+
/** Clip-edge fades from `data-fade-in` / `data-fade-out`; see audioFade.ts. */
|
|
40
|
+
fades?: AudioFades;
|
|
41
|
+
};
|
|
42
|
+
export declare function refreshRuntimeMediaCache(params?: {
|
|
43
|
+
resolveStartSeconds?: (element: Element) => number;
|
|
44
|
+
resolveDurationSeconds?: (element: HTMLVideoElement | HTMLAudioElement) => number | null;
|
|
45
|
+
shouldIncludeElement?: (element: HTMLVideoElement | HTMLAudioElement) => boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Build clips for exactly these elements instead of scanning the document for
|
|
48
|
+
* them. For a caller that already knows which media it needs this pass — the
|
|
49
|
+
* per-seek sync only touches the clips whose active state can change — and so
|
|
50
|
+
* should not pay to re-derive the window of every clip in the composition.
|
|
51
|
+
*
|
|
52
|
+
* Every field is still read FRESH from the element. This narrows which
|
|
53
|
+
* elements are visited, never how current the answer is: `el.duration` can be
|
|
54
|
+
* reset under the caller by an `el.load()` it did not make.
|
|
55
|
+
*/
|
|
56
|
+
elements?: Array<HTMLVideoElement | HTMLAudioElement>;
|
|
57
|
+
}): {
|
|
58
|
+
timedMediaEls: Array<HTMLVideoElement | HTMLAudioElement>;
|
|
59
|
+
mediaClips: RuntimeMediaClip[];
|
|
60
|
+
videoClips: RuntimeMediaClip[];
|
|
61
|
+
maxMediaEnd: number;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Drop every per-source sync baseline tracked for `el` — offset drift
|
|
65
|
+
* samples, the seek-past-buffered-range retry latch, and the last
|
|
66
|
+
* runtime-applied volume — so the next `syncRuntimeMedia` tick treats it as
|
|
67
|
+
* a first tick (hard resync, fresh drift baseline) instead of comparing
|
|
68
|
+
* against state computed for a different file. Used both when a clip leaves
|
|
69
|
+
* its active window (below) and by the runtime's proxy-swap helper
|
|
70
|
+
* (mediaProxy.ts) right after an in-place `src` swap, which points the same
|
|
71
|
+
* element at a different file without ever leaving its active window.
|
|
72
|
+
*/
|
|
73
|
+
export declare function evictMediaSyncState(el: HTMLMediaElement): void;
|
|
74
|
+
/** Test-only seam: whether any per-source sync state is still tracked for `el`. */
|
|
75
|
+
export declare function hasMediaSyncStateForTest(el: HTMLMediaElement): boolean;
|
|
76
|
+
export declare function syncRuntimeMedia(params: {
|
|
77
|
+
clips: RuntimeMediaClip[];
|
|
78
|
+
timeSeconds: number;
|
|
79
|
+
playing: boolean;
|
|
80
|
+
playbackRate: number;
|
|
81
|
+
/** Force-mute every element (parent-frame proxy owns all audio). Asserted per
|
|
82
|
+
* tick so sub-composition media added mid-playback inherits the silence. */
|
|
83
|
+
outputMuted?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* User's explicit mute preference (set via `onSetMuted`). Symmetric to
|
|
86
|
+
* `outputMuted` — also asserted per tick — so a sub-composition that
|
|
87
|
+
* activates after the user mutes doesn't briefly play at author volume
|
|
88
|
+
* before the next bridge message lands.
|
|
89
|
+
*/
|
|
90
|
+
userMuted?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* User's volume preference (0–1, set via `onSetVolume`). Multiplied with the
|
|
93
|
+
* per-clip author volume so `data-volume="0.5"` at user volume 0.8 yields 0.4.
|
|
94
|
+
*/
|
|
95
|
+
userVolume?: number;
|
|
96
|
+
/**
|
|
97
|
+
* Invoked at most once when a media element's `play()` promise rejects with
|
|
98
|
+
* `NotAllowedError`. The caller is expected to latch and post a single
|
|
99
|
+
* outbound message; further invocations are suppressed by the caller.
|
|
100
|
+
*/
|
|
101
|
+
onAutoplayBlocked?: () => void;
|
|
102
|
+
onElementVolume?: (el: HTMLMediaElement, effectiveVolume: number, authorVolume: number) => void;
|
|
103
|
+
/** Is THIS element owned by the Web Audio transport? Owned → mute it (transport
|
|
104
|
+
* plays it); not owned → leave audible (HTMLMedia fallback). Per-element, not a
|
|
105
|
+
* global flag, so a not-yet-claimed track isn't muted by other tracks. */
|
|
106
|
+
isWebAudioOwned?: (el: HTMLMediaElement) => boolean;
|
|
107
|
+
/** Native media routed through WebAudio keeps its upstream element volume at
|
|
108
|
+
* unity; do not mistake that transport write for an authored volume edit. */
|
|
109
|
+
isWebAudioRouted?: (el: HTMLMediaElement) => boolean;
|
|
110
|
+
forceSync?: boolean;
|
|
111
|
+
/** Lets a video clip that runs to the composition end hold its last frame at the terminal time.
|
|
112
|
+
* A thunk, because deriving the duration is only worth it for a clip past its own end. */
|
|
113
|
+
getCompositionDuration: () => number;
|
|
114
|
+
}): void;
|
|
115
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"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"}
|