fix: clear PTZ flag on all MBeg keyboard video inputs
Keyboard interfaces under Clients/GeViIO/GeViIO_01 should never have the PTZ flag set on their video inputs. Previously PTZ cameras (e.g. 101027) were exported with PTZ=True on every keyboard, unlike fixed cameras. Adds geviset.disable_keyboard_ptz() and runs it at the end of the video input pipeline in both /api/set/export and /api/batch/build. Only the keyboard interfaces are touched; virtual decoders/servers under GeViIO_Virtual keep their PTZ flags so PTZ control still works. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -110,6 +110,7 @@ async def export_set(payload: dict):
|
||||
geviset.ensure_global_video_inputs(tree, camera_ids, ptz_by_id)
|
||||
geviset.ensure_vx3_video_inputs(tree, camera_ids, ptz_by_id)
|
||||
geviset.prune_video_inputs(tree, camera_ids)
|
||||
geviset.disable_keyboard_ptz(tree)
|
||||
print(
|
||||
f"EXPORT camera_ids={len(camera_ids)} contains_101027={101027 in camera_ids}",
|
||||
flush=True,
|
||||
@@ -301,6 +302,7 @@ async def build_from_excel(
|
||||
geviset.ensure_global_video_inputs(tree, camera_ids, ptz_by_id)
|
||||
geviset.ensure_vx3_video_inputs(tree, camera_ids, ptz_by_id)
|
||||
geviset.prune_video_inputs(tree, camera_ids)
|
||||
geviset.disable_keyboard_ptz(tree)
|
||||
|
||||
if servers and servers.filename:
|
||||
if not servers.filename.lower().endswith(".xlsx"):
|
||||
|
||||
Reference in New Issue
Block a user