From 286aa61a188ef6eb21acda06696cfc46ee905dba Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Sun, 11 Aug 2024 17:58:44 -0700 Subject: [PATCH] hikvision: autoconfigure should disable vca resource --- plugins/hikvision/package-lock.json | 4 ++-- plugins/hikvision/package.json | 2 +- plugins/hikvision/src/hikvision-api-channels.ts | 3 ++- plugins/hikvision/src/hikvision-autoconfigure.ts | 5 +++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/hikvision/package-lock.json b/plugins/hikvision/package-lock.json index be3ba7a60..fcc170619 100644 --- a/plugins/hikvision/package-lock.json +++ b/plugins/hikvision/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/hikvision", - "version": "0.0.152", + "version": "0.0.153", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/hikvision", - "version": "0.0.152", + "version": "0.0.153", "license": "Apache", "dependencies": { "@scrypted/common": "file:../../common", diff --git a/plugins/hikvision/package.json b/plugins/hikvision/package.json index 5c5fe5573..6a2f7b4c4 100644 --- a/plugins/hikvision/package.json +++ b/plugins/hikvision/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/hikvision", - "version": "0.0.152", + "version": "0.0.153", "description": "Hikvision Plugin for Scrypted", "author": "Scrypted", "license": "Apache", diff --git a/plugins/hikvision/src/hikvision-api-channels.ts b/plugins/hikvision/src/hikvision-api-channels.ts index ff5776b2f..1371d1d64 100644 --- a/plugins/hikvision/src/hikvision-api-channels.ts +++ b/plugins/hikvision/src/hikvision-api-channels.ts @@ -19,6 +19,7 @@ export interface HikvisionAPI { checkStreamSetup(channel: string, isOld: boolean): Promise; jpegSnapshot(channel: string, timeout: number): Promise; listenEvents(): Promise; + putVcaResource(channel: string, resource: 'smart' | 'facesnap' | 'close'): Promise; getCodecs(camNumber: string): Promise; configureCodecs(camNumber: string, channelNumber: string, options: MediaStreamOptions): Promise; -} \ No newline at end of file +} diff --git a/plugins/hikvision/src/hikvision-autoconfigure.ts b/plugins/hikvision/src/hikvision-autoconfigure.ts index 07d34dda4..1d7078d78 100644 --- a/plugins/hikvision/src/hikvision-autoconfigure.ts +++ b/plugins/hikvision/src/hikvision-autoconfigure.ts @@ -9,6 +9,11 @@ export const hikvisionAutoConfigureSettings: Setting = { }; export async function autoconfigureSettings(client: HikvisionAPI, camNumber: string) { + if (!await client.putVcaResource(camNumber + '01', 'close')) { + client.reboot(); + throw new Error('Camera VCA resource was disabled to enable the third stream. Try again after the camera has completed rebooting.'); + } + return ac( () => client.getCodecs(camNumber), (options) => {