@linker-design-plus/timeline-track 2.2.1 → 2.2.2
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/core/preview/mediaHelpers.d.ts +3 -0
- package/dist/core/preview/previewEngine.d.ts +2 -0
- package/dist/core/preview/previewPlaybackSlot.d.ts +7 -1
- package/dist/core/preview/previewSourceService.d.ts +1 -2
- package/dist/core/preview/previewSyncCoordinator.d.ts +1 -1
- package/dist/core/resources/resourceCache/resourceCacheManager.d.ts +10 -0
- package/dist/index.cjs.js +47 -47
- package/dist/index.es.js +1632 -1580
- package/package.json +1 -1
|
@@ -22,3 +22,6 @@ export declare function getMediaDebugState(element: HTMLMediaElement): Diagnosti
|
|
|
22
22
|
export declare function doesSlotSourceMatchDesired(configuredSource: string | null, assignedSource: string | null, desiredSource: string | null): boolean;
|
|
23
23
|
export declare function getSlotSeekThresholdSeconds(role: 'current' | 'preload', playbackRate: number): number;
|
|
24
24
|
export declare function buildPreviewSourceCacheKey(clip: ActiveClipPlaybackInfo['clip']): string;
|
|
25
|
+
export declare function buildObjectUrlHolderId(clipId: string | undefined | null): string | null;
|
|
26
|
+
export declare function isBlobObjectUrl(url: string | null | undefined): url is string;
|
|
27
|
+
export declare function resolveBlobObjectUrl(objectUrl: string | null | undefined, playbackUrl: string): string | null;
|
|
@@ -60,6 +60,8 @@ export declare class PreviewEngine {
|
|
|
60
60
|
get lastRuntimeState(): PreviewRuntimeState;
|
|
61
61
|
refreshRuntimeState(): void;
|
|
62
62
|
private applyTrackPlan;
|
|
63
|
+
private readonly releaseTrackedObjectUrl;
|
|
64
|
+
private rememberSlotObjectUrl;
|
|
63
65
|
private getTrackSlots;
|
|
64
66
|
private collectSlots;
|
|
65
67
|
private buildLoadingState;
|
|
@@ -21,6 +21,11 @@ export declare class PreviewPlaybackSlot implements PlaybackSlotState {
|
|
|
21
21
|
boundStableKey: string | null;
|
|
22
22
|
desiredSource: string | null;
|
|
23
23
|
objectUrl: string | null;
|
|
24
|
+
objectUrlHolderId: string | null;
|
|
25
|
+
takeTrackedObjectUrl(): {
|
|
26
|
+
url: string | null;
|
|
27
|
+
holderId: string | null;
|
|
28
|
+
};
|
|
24
29
|
requestedPlayState: PlayState;
|
|
25
30
|
isActive: boolean;
|
|
26
31
|
isLoading: boolean;
|
|
@@ -32,6 +37,7 @@ export declare class PreviewPlaybackSlot implements PlaybackSlotState {
|
|
|
32
37
|
hasReadyEventSinceSourceChange: boolean;
|
|
33
38
|
pendingClockAlignmentMediaTime: number | null;
|
|
34
39
|
sourceGen: number;
|
|
40
|
+
private loadSourceGen;
|
|
35
41
|
sourceNode: MediaElementAudioSourceNode | null;
|
|
36
42
|
gainNode: GainNode | null;
|
|
37
43
|
audioRoutingFailed: boolean;
|
|
@@ -48,7 +54,7 @@ export declare class PreviewPlaybackSlot implements PlaybackSlotState {
|
|
|
48
54
|
applyPlayback(entry: ActiveClipPlaybackInfo, playState: PlayState, speed: number, visible: boolean, zIndex: number): void;
|
|
49
55
|
sourceMatchesDesired(): boolean;
|
|
50
56
|
maybeResumePlayback(reason: 'canplay' | 'seeked' | 'runtime-check'): void;
|
|
51
|
-
destroy(releaseObjectUrl: (url: string | null) => void): void;
|
|
57
|
+
destroy(releaseObjectUrl: (url: string | null, holderId: string | null) => void): void;
|
|
52
58
|
private syncCurrentPlayback;
|
|
53
59
|
private preparePreload;
|
|
54
60
|
private setVisible;
|
|
@@ -10,7 +10,7 @@ export interface PreviewSourceServiceDependencies {
|
|
|
10
10
|
}
|
|
11
11
|
export declare class PreviewSourceService {
|
|
12
12
|
private readonly dependencies;
|
|
13
|
-
private readonly
|
|
13
|
+
private readonly pendingCacheRuntime;
|
|
14
14
|
constructor(dependencies?: PreviewSourceServiceDependencies);
|
|
15
15
|
resolve(entry: ActiveClipPlaybackInfo, options: {
|
|
16
16
|
sourceGen: number;
|
|
@@ -18,7 +18,6 @@ export declare class PreviewSourceService {
|
|
|
18
18
|
reuse?: ResolvedSlotSource | null;
|
|
19
19
|
}): Promise<ResolvedSlotSource | null> | ResolvedSlotSource | null;
|
|
20
20
|
getReusableSource(boundStableKey: string | null, stableSourceUrl: string | null, desiredSource: string | null, objectUrl: string | null, entry: ActiveClipPlaybackInfo): ResolvedSlotSource | null;
|
|
21
|
-
revokeObjectUrl(objectUrl: string | null | undefined): void;
|
|
22
21
|
private resolvePlayable;
|
|
23
22
|
private normalizeCachedResult;
|
|
24
23
|
private emit;
|
|
@@ -12,7 +12,7 @@ export interface PreviewSyncCoordinatorOptions {
|
|
|
12
12
|
onAsyncWorkStarted: () => void;
|
|
13
13
|
onAsyncWorkFinished: () => void;
|
|
14
14
|
onStateChange: () => void;
|
|
15
|
-
releaseObjectUrl: (url: string | null) => void;
|
|
15
|
+
releaseObjectUrl: (url: string | null, holderId: string | null) => void;
|
|
16
16
|
rememberObjectUrl: (slot: PreviewPlaybackSlot, url: string | null) => void;
|
|
17
17
|
configureAudio: (slot: PreviewPlaybackSlot, entry: ActiveClipPlaybackInfo) => void;
|
|
18
18
|
syncClockAlignment: (slot: PreviewPlaybackSlot, target: PreviewSlotTarget, clipChanged: boolean) => void;
|
|
@@ -19,11 +19,18 @@ export declare class ResourceCacheManager {
|
|
|
19
19
|
private readonly cacheKeyBuilder;
|
|
20
20
|
private readonly onEvent?;
|
|
21
21
|
private readonly objectUrls;
|
|
22
|
+
private readonly objectUrlByCacheKey;
|
|
23
|
+
private readonly cacheKeyByObjectUrl;
|
|
24
|
+
private readonly objectUrlHolders;
|
|
22
25
|
private readonly inflightDownloads;
|
|
23
26
|
constructor(dependencies?: ResourceCacheManagerDependencies);
|
|
24
27
|
resolve(input: ResolveResourceInput): Promise<ResolvedCachedResource>;
|
|
25
28
|
resolvePlayableUrl(input: ResolveResourceInput): Promise<ResolvedCachedResource>;
|
|
29
|
+
retainObjectUrl(url: string, holderId: string): void;
|
|
30
|
+
releaseObjectUrl(url: string, holderId: string): void;
|
|
31
|
+
/** @deprecated Prefer releaseObjectUrl with a clip holder id. */
|
|
26
32
|
revokeObjectUrl(url: string): void;
|
|
33
|
+
forceRevokeObjectUrl(url: string): void;
|
|
27
34
|
cleanupExpired(): Promise<void>;
|
|
28
35
|
clear(): Promise<void>;
|
|
29
36
|
getStats(): Promise<ResourceCacheStats>;
|
|
@@ -34,6 +41,9 @@ export declare class ResourceCacheManager {
|
|
|
34
41
|
private downloadAndStore;
|
|
35
42
|
private evictForWrite;
|
|
36
43
|
private deleteEntry;
|
|
44
|
+
private registerObjectUrl;
|
|
45
|
+
private revokeTrackedObjectUrl;
|
|
37
46
|
private blobResult;
|
|
47
|
+
private toResolvedBlob;
|
|
38
48
|
private emitEvent;
|
|
39
49
|
}
|