You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
863 B
29 lines
863 B
1 month ago
|
import { videoCodecs } from 'livekit-client';
|
||
|
import { VideoConferenceClientImpl } from './VideoConferenceClientImpl';
|
||
|
import { isVideoCodec } from '@/lib/types';
|
||
|
|
||
|
export default function CustomRoomConnection(props: {
|
||
|
searchParams: {
|
||
|
liveKitUrl?: string;
|
||
|
token?: string;
|
||
|
codec?: string;
|
||
|
};
|
||
|
}) {
|
||
|
const { liveKitUrl, token, codec } = props.searchParams;
|
||
|
if (typeof liveKitUrl !== 'string') {
|
||
|
return <h2>Missing LiveKit URL</h2>;
|
||
|
}
|
||
|
if (typeof token !== 'string') {
|
||
|
return <h2>Missing LiveKit token</h2>;
|
||
|
}
|
||
|
if (codec !== undefined && !isVideoCodec(codec)) {
|
||
|
return <h2>Invalid codec, if defined it has to be [{videoCodecs.join(', ')}].</h2>;
|
||
|
}
|
||
|
|
||
|
return (
|
||
|
<main data-lk-theme="default" style={{ height: '100%' }}>
|
||
|
<VideoConferenceClientImpl liveKitUrl={liveKitUrl} token={token} codec={codec} />
|
||
|
</main>
|
||
|
);
|
||
|
}
|