use live dimensions

This commit is contained in:
Blake Blackshear 2021-10-17 08:48:59 -05:00
parent ae24cf3bb2
commit 7ab6961ee1
2 changed files with 3 additions and 2 deletions

View File

@ -21,6 +21,7 @@ export default function Camera({ camera }) {
const [viewMode, setViewMode] = useState('live'); const [viewMode, setViewMode] = useState('live');
const cameraConfig = config?.cameras[camera]; const cameraConfig = config?.cameras[camera];
const liveWidth = Math.round(cameraConfig.live.height * (cameraConfig.detect.width / cameraConfig.detect.height))
const [options, setOptions] = usePersistence(`${camera}-feed`, emptyObject); const [options, setOptions] = usePersistence(`${camera}-feed`, emptyObject);
const handleSetOption = useCallback( const handleSetOption = useCallback(
@ -87,7 +88,7 @@ export default function Camera({ camera }) {
player = ( player = (
<Fragment> <Fragment>
<div> <div>
<JSMpegPlayer camera={camera} width={cameraConfig.detect.width} height={cameraConfig.detect.height} /> <JSMpegPlayer camera={camera} width={liveWidth} height={cameraConfig.live.height} />
</div> </div>
</Fragment> </Fragment>
); );

View File

@ -13,7 +13,7 @@ describe('Camera Route', () => {
mockSetOptions = jest.fn(); mockSetOptions = jest.fn();
mockUsePersistence = jest.spyOn(Context, 'usePersistence').mockImplementation(() => [{}, mockSetOptions]); mockUsePersistence = jest.spyOn(Context, 'usePersistence').mockImplementation(() => [{}, mockSetOptions]);
jest.spyOn(Api, 'useConfig').mockImplementation(() => ({ jest.spyOn(Api, 'useConfig').mockImplementation(() => ({
data: { cameras: { front: { name: 'front', detect: {width: 1280, height: 720}, objects: { track: ['taco', 'cat', 'dog'] } } } }, data: { cameras: { front: { name: 'front', detect: {width: 1280, height: 720}, live: {height: 720}, objects: { track: ['taco', 'cat', 'dog'] } } } },
})); }));
jest.spyOn(Api, 'useApiHost').mockImplementation(() => 'http://base-url.local:5000'); jest.spyOn(Api, 'useApiHost').mockImplementation(() => 'http://base-url.local:5000');
jest.spyOn(AutoUpdatingCameraImage, 'default').mockImplementation(({ searchParams }) => { jest.spyOn(AutoUpdatingCameraImage, 'default').mockImplementation(({ searchParams }) => {