in src/hooks/sdk/useSelectVideoQuality.tsx [11:44]
export function useSelectVideoQuality(): (quality: VideoQuality) => void {
const audioVideo = useAudioVideo();
const logger = useLogger();
const selectVideoQuality = useCallback(
(quality: VideoQuality) => {
if (!audioVideo) {
return;
}
logger.info(`Selecting video quality: ${quality}`);
switch (quality) {
case '360p':
audioVideo.chooseVideoInputQuality(640, 360, 15);
audioVideo.setVideoMaxBandwidthKbps(600);
break;
case '540p':
audioVideo.chooseVideoInputQuality(960, 540, 15);
audioVideo.setVideoMaxBandwidthKbps(1400);
break;
case '720p':
audioVideo.chooseVideoInputQuality(1280, 720, 15);
audioVideo.setVideoMaxBandwidthKbps(1400);
break;
default:
logger.warn(`Unsupported video quality: ${quality}`);
}
},
[audioVideo]
);
return selectVideoQuality;
}