IKHSAN
EN Read in EnglishID

snapme

Publik
Branch
master
Commit terakhir
130fdb828 Oktober 2026

mediaSupport.ts

Buka raw
"use client"

import type { LiveKind } from "@/lib/schemas"

/* SH-03: deteksi kemampuan perekam. Urutan kandidat mengutamakan WebM/VP9,
   lalu WebM, lalu MP4 (Safari). `null` berarti tombol versi hidup
   disembunyikan; tidak ada perekaman yang dipaksakan. */

const CANDIDATES: { mimeType: string; kind: LiveKind }[] = [
  { mimeType: "video/webm;codecs=vp9", kind: "webm" },
  { mimeType: "video/webm", kind: "webm" },
  { mimeType: "video/mp4", kind: "mp4" },
]

export function pickLiveKind(): LiveKind | null {
  if (typeof MediaRecorder === "undefined") {
    return null
  }
  return (
    CANDIDATES.find((candidate) =>
      MediaRecorder.isTypeSupported(candidate.mimeType)
    )?.kind ?? null
  )
}
byte
712
baris
25
Jenis
ts
Commit terakhir
28 Oktober 2026