Mod cleanup select values

This commit is contained in:
Jan Stabenow 2024-09-26 12:39:17 +02:00
parent a5bddc5bbf
commit 766018fd58

View File

@ -8,6 +8,15 @@ import Typography from '@mui/material/Typography';
import Checkbox from '../Checkbox';
import Select from '../Select';
const encoderOptions = {
'libx264': 'H.264 (libx264)',
'h264_nvenc': 'H.264 (NVENC)',
'h264_omx': 'H.264 (OpenMAX IL)',
'h264_v4l2m2m': 'H.264 (V4L2 Memory to Memory)',
'h264_vaapi': 'H.264 (Intel VAAPI)',
'h264_videotoolbox': 'H.264 (VideoToolbox)',
};
function init(settings) {
const initSettings = {
enable: true,
@ -46,25 +55,19 @@ export default function Control({ settings = {}, encoders = [], onChange = funct
<Checkbox label={<Trans>Enable browser-compatible H.264 stream</Trans>} checked={settings.enable} onChange={handleChange('enable')} />
</Grid>
<Grid item xs={12} md={6}>
<Select label={<Trans>Video Codec</Trans>} value={settings.video_encoder} disabled={!settings.enable} onChange={handleChange('video_encoder')}>
<MenuItem value="libx264" disabled={!encoders.includes('libx264')}>
H.264 (libx264)
</MenuItem>
<MenuItem value="h264_nvenc" disabled={!encoders.includes('h264_nvenc')}>
<Trans>H.264 (NVENC)</Trans>
</MenuItem>
<MenuItem value="h264_omx" disabled={!encoders.includes('h264_omx')}>
<Trans>H.264 (OpenMAX IL)</Trans>
</MenuItem>
<MenuItem value="h264_v4l2m2m" disabled={!encoders.includes('h264_v4l2m2m')}>
<Trans>H.264 (V4L2 Memory to Memory)</Trans>
</MenuItem>
<MenuItem value="h264_vaapi" disabled={!encoders.includes('h264_vaapi')}>
<Trans>H.264 (Intel VAAPI)</Trans>
</MenuItem>
<MenuItem value="h264_videotoolbox" disabled={!encoders.includes('h264_videotoolbox')}>
<Trans>H.264 (VideoToolbox)</Trans>
</MenuItem>
<Select
label={<Trans>Video Codec</Trans>}
value={settings.video_encoder}
disabled={!settings.enable}
onChange={handleChange('video_encoder')}
>
{Object.entries(encoderOptions).map(([value, label]) => (
encoders.includes(value) && (
<MenuItem key={value} value={value}>
{label}
</MenuItem>
)
))}
</Select>
<Typography variant="caption">
<Trans>The H.264 encoder used.</Trans>