UNPKG

@fishjam-cloud/react-client

Version:
18 lines (17 loc) 632 B
import { receiveLivestream } from "@fishjam-cloud/ts-client"; import { useCallback, useRef, useState } from "react"; export const useLivestream = () => { const [stream, setStream] = useState(null); const resultRef = useRef(null); const connect = useCallback(async (url, token) => { const result = await receiveLivestream(url, token); resultRef.current = result; setStream(result.stream); }, []); const disconnect = useCallback(() => { setStream(null); resultRef.current?.stop(); resultRef.current = null; }, []); return { stream, connect, disconnect }; };