UNPKG

remotion

Version:

Render videos in React

24 lines 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useMediaHasMetadata = void 0; const react_1 = require("react"); const useMediaHasMetadata = (mediaRef) => { const [hasMetadata, setHasMetadata] = (0, react_1.useState)(false); (0, react_1.useEffect)(() => { const { current } = mediaRef; if (!current) { return; } const hasSourceChild = Array.from(current.childNodes).some((child) => child.nodeName === 'SOURCE'); if (!current.src && !hasSourceChild) { const tagName = current.nodeName === 'AUDIO' ? '<Audio>' : '<Video>'; throw new Error(`No src found. Please provide a src prop or a <source> child to the ${tagName} element.`); } const handler = () => setHasMetadata(true); current.addEventListener('loadedmetadata', handler); return () => current.removeEventListener('loadedmetadata', handler); }, [mediaRef]); return hasMetadata; }; exports.useMediaHasMetadata = useMediaHasMetadata; //# sourceMappingURL=use-media-metadata.js.map