movie-web/__old/controls/SourceControl.tsx
2023-02-03 15:20:26 +01:00

28 lines
723 B
TypeScript

import { MWStreamQuality, MWStreamType } from "@/backend/helpers/streams";
import { useContext, useEffect, useRef } from "react";
import { VideoPlayerDispatchContext } from "../VideoContext";
interface SourceControlProps {
source: string;
type: MWStreamType;
quality: MWStreamQuality;
}
export function SourceControl(props: SourceControlProps) {
const dispatch = useContext(VideoPlayerDispatchContext);
const didInitialize = useRef(false);
useEffect(() => {
if (didInitialize.current) return;
dispatch({
type: "SET_SOURCE",
url: props.source,
sourceType: props.type,
quality: props.quality,
});
didInitialize.current = true;
}, [props, dispatch]);
return null;
}