import { h, Fragment } from 'preact'; import { usePersistence } from '../context'; import ActivityIndicator from '../components/ActivityIndicator'; import JSMpegPlayer from '../components/JSMpegPlayer'; import Heading from '../components/Heading'; import WebRtcPlayer from '../components/WebRtcPlayer'; import MsePlayer from '../components/MsePlayer'; import useSWR from 'swr'; import videojs from 'video.js'; export default function Birdseye() { const { data: config } = useSWR('config'); const [viewSource, setViewSource, sourceIsLoaded] = usePersistence('birdseye-source', 'mse'); const sourceValues = ['mse', 'webrtc', 'jsmpeg']; if (!config || !sourceIsLoaded) { return ; } let player; if (viewSource == 'mse' && config.restream.birdseye) { if (videojs.browser.IS_IOS) { player = (
MSE is not supported on iOS devices. You'll need to use jsmpeg or webRTC. See the docs for more info.
); } else { player = (
); } } else if (viewSource == 'webrtc' && config.restream.birdseye) { player = (
); } else { player = (
); } return (
Birdseye {config.restream.birdseye && ( )}
{player}
); }