Skip to content

Commit

Permalink
Camera WebUI fixes (blakeblackshear#5010)
Browse files Browse the repository at this point in the history
* Show jsmpeg when restream is disabled

* Fix debug button status not showing correctly when switching cameras

* Change label to make clear only motion masks are shown
  • Loading branch information
NickM-27 committed Jan 11, 2023
1 parent 581c259 commit 3edbb8d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
3 changes: 2 additions & 1 deletion web/src/components/ButtonsTabbed.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ import { useCallback, useState } from 'preact/hooks';

export default function ButtonsTabbed({
viewModes = [''],
currentViewMode = '',
setViewMode = null,
setHeader = null,
headers = [''],
className = 'text-gray-600 py-0 px-4 block hover:text-gray-500',
selectedClassName = `${className} focus:outline-none border-b-2 font-medium border-gray-500`,
}) {
const [selected, setSelected] = useState(0);
const [selected, setSelected] = useState(viewModes ? viewModes.indexOf(currentViewMode) : 0);
const captitalize = (str) => {
return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
};
Expand Down
10 changes: 5 additions & 5 deletions web/src/routes/Camera.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export default function Camera({ camera }) {
? Math.round(cameraConfig.restream.jsmpeg.height * (cameraConfig.detect.width / cameraConfig.detect.height))
: 0;
const [viewSource, setViewSource, sourceIsLoaded] = usePersistence(`${camera}-source`, 'mse');
const sourceValues = cameraConfig && cameraConfig.restream.enabled ? ['mse', 'webrtc', 'jsmpeg'] : ['mse'];
const sourceValues = cameraConfig && cameraConfig.restream.enabled ? ['mse', 'webrtc', 'jsmpeg'] : ['jsmpeg'];
const [options, setOptions] = usePersistence(`${camera}-feed`, emptyObject);

const handleSetOption = useCallback(
Expand Down Expand Up @@ -77,7 +77,7 @@ export default function Camera({ camera }) {
labelPosition="after"
/>
<Switch checked={options['zones']} id="zones" onChange={handleSetOption} label="Zones" labelPosition="after" />
<Switch checked={options['mask']} id="mask" onChange={handleSetOption} label="Masks" labelPosition="after" />
<Switch checked={options['mask']} id="mask" onChange={handleSetOption} label="Motion Masks" labelPosition="after" />
<Switch
checked={options['motion']}
id="motion"
Expand All @@ -98,7 +98,7 @@ export default function Camera({ camera }) {

let player;
if (viewMode === 'live') {
if (viewSource == 'mse') {
if (viewSource == 'mse' && cameraConfig.restream.enabled) {
if (videojs.browser.IS_IOS) {
player = (
<Fragment>
Expand All @@ -116,7 +116,7 @@ export default function Camera({ camera }) {
</Fragment>
);
}
} else if (viewSource == 'webrtc') {
} else if (viewSource == 'webrtc' && cameraConfig.restream.enabled) {
player = (
<Fragment>
<div className="max-w-5xl">
Expand Down Expand Up @@ -170,7 +170,7 @@ export default function Camera({ camera }) {
</select>
</div>

<ButtonsTabbed viewModes={['live', 'debug']} setViewMode={setViewMode} />
<ButtonsTabbed viewModes={['live', 'debug']} currentViewMode={viewMode} setViewMode={setViewMode} />

{player}

Expand Down

0 comments on commit 3edbb8d

Please sign in to comment.