File size: 948 Bytes
3d4392e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8101ed0
 
 
 
 
 
 
 
 
 
 
 
 
3d4392e
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"use client"

import { ClapProject, ClapSegment } from "@/lib/clap/types"
import { generateVideo } from "./generateVideo"

export async function resolve(segment: ClapSegment, clap: ClapProject): Promise<JSX.Element> {

  const { prompt } = segment

  let assetUrl = ""
  try {
    // console.log(`resolveVideo: generating video for: ${prompt}`)

    assetUrl = await generateVideo(prompt)

    // console.log(`resolveVideo: generated ${assetUrl}`)

  } catch (err) {
    console.error(`resolveVideo failed (${err})`)
    return <></>
  }

  // note: the latent-video class is not used for styling, but to grab the component
  // from JS when we need to segment etc
  return (
    <video
      loop
      className="latent-video object-cover h-full"
      playsInline

      // muted needs to be enabled for iOS to properly autoplay
      muted
      autoPlay

      // we hide the controls
      // controls
      src={assetUrl}>
    </video>
  )
}