mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-09-17 15:57:42 -04:00
setContrast takes 'constrast'. Spelling the parameter 'contrast', as the field is named everywhere else including in getImageSetting's own answer, is accepted with result=0, leaves the real parameter unset and applies 0 for it. Contrast 0 is a black picture, so set_config would have blacked out any camera whose contrast a template touched, while reporting success. Found by doing it to a live FI9853EP: the camera kept serving video with a correct timestamp overlay and no error anywhere, and the only sign was getImageSetting answering contrast 0 where an untouched camera of the same model answered 50. field_set entries are now [command, parameter] pairs rather than a bare command with the parameter assumed from the field name, since the firmware gives no indication when it is handed a name it does not read. The same check against an untouched camera clears brightness, hue, saturation and sharpness: those were written with their documented names during the same session and kept their values. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BJjpSYbZRM8ucGW9HbgtR