summaryrefslogtreecommitdiff
path: root/apps/web/src/services/renderer/nodes/video-node.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/services/renderer/nodes/video-node.ts')
-rw-r--r--apps/web/src/services/renderer/nodes/video-node.ts41
1 files changed, 9 insertions, 32 deletions
diff --git a/apps/web/src/services/renderer/nodes/video-node.ts b/apps/web/src/services/renderer/nodes/video-node.ts
index 4f225567..a903e2b2 100644
--- a/apps/web/src/services/renderer/nodes/video-node.ts
+++ b/apps/web/src/services/renderer/nodes/video-node.ts
@@ -1,7 +1,8 @@
-import type { CanvasRenderer } from "../canvas-renderer";
-import { mediaTimeToSeconds } from "opencut-wasm";
-import { VisualNode, type VisualNodeParams } from "./visual-node";
-import { videoCache } from "@/services/video-cache/service";
+import {
+ VisualNode,
+ type ResolvedVisualSourceNodeState,
+ type VisualNodeParams,
+} from "./visual-node";
export interface VideoNodeParams extends VisualNodeParams {
url: string;
@@ -9,31 +10,7 @@ export interface VideoNodeParams extends VisualNodeParams {
mediaId: string;
}
-export class VideoNode extends VisualNode<VideoNodeParams> {
- async render({ renderer, time }: { renderer: CanvasRenderer; time: number }) {
- await super.render({ renderer, time });
-
- if (!this.isInRange({ time })) {
- return;
- }
-
- const videoTimeTicks = this.getSourceLocalTime({ time });
- const videoTimeSeconds = mediaTimeToSeconds({ time: videoTimeTicks });
-
- const frame = await videoCache.getFrameAt({
- mediaId: this.params.mediaId,
- file: this.params.file,
- time: videoTimeSeconds,
- });
-
- if (frame) {
- this.renderVisual({
- renderer,
- source: frame.canvas,
- sourceWidth: frame.canvas.width,
- sourceHeight: frame.canvas.height,
- timelineTime: time,
- });
- }
- }
-}
+export class VideoNode extends VisualNode<
+ VideoNodeParams,
+ ResolvedVisualSourceNodeState
+> {}