UNPKG

next-video

Version:

A React component for adding video to your Next.js application. It extends both the video element and your Next app with features for automatic video optimization.

27 lines (26 loc) • 1.07 kB
import { jsx } from "react/jsx-runtime"; import { forwardRef, lazy } from "react"; import { getUrlExtension } from "../../utils.js"; let MuxVideo; let HlsVideo; let DashVideo; const Media = forwardRef((props, forwardedRef) => { if (typeof props.playbackId === "string") { MuxVideo ?? (MuxVideo = lazy(() => import("@mux/mux-video/react"))); return /* @__PURE__ */ jsx(MuxVideo, { ref: forwardedRef, ...props, controls: false }); } const fileExtension = getUrlExtension(props.src); if (fileExtension === "m3u8") { HlsVideo ?? (HlsVideo = lazy(() => import("hls-video-element/react"))); return /* @__PURE__ */ jsx(HlsVideo, { ref: forwardedRef, ...props, controls: false }); } if (fileExtension === "mpd") { DashVideo ?? (DashVideo = lazy(() => import("dash-video-element/react"))); return /* @__PURE__ */ jsx(DashVideo, { ref: forwardedRef, ...props, controls: false }); } return /* @__PURE__ */ jsx("video", { ref: forwardedRef, ...props, controls: false }); }); var media_default = Media; export { media_default as default };