mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-06-22 04:29:49 -04:00
- Monitor::WriteShmFrame: image_pixelformats[index] was being recorded even when image_buffer[index]->Assign(*capture_image) silently left the slot untouched (Assign returns void; held-buffer undersize and unknown src format both early-return without mutating the dest). Readers would then adopt the newly-published format while the slot still held the previous frame's bytes, producing garble. Check the dest's post-Assign PixFormat against the source's and only publish on match; warn and keep the previously-published format otherwise so readers continue interpreting the slot bytes correctly. - Monitor::WriteAlarmImage: same fix for alarm_image — verify Assign adopted src.PixFormat() before publishing *alarm_image_pixelformat. - Image::AVPixFormat(AVPixelFormat) setter: switched the four format-name logs to the nullptr-safe zm_get_pix_fmt_name wrapper. The first Error branch triggers exactly when new_pixelformat is unrecognised, and av_get_pix_fmt_name returns nullptr for those. - monitor.php: removed the manual translate fallback for DeprecatedColoursSetting. web/includes/lang.php always merges en_gb.php as a fallback when the active language differs, so translate() never returns the bare key once en_gb.php defines it. refs #4788 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Modern ZoneMinder Skin
This web frontend to ZoneMinder is a complete rewrite of the classic frontend, based on CakePHP.