zoneminder/src
Isaac Connor 4df2bf4f0b feat: add analysis_image field to stream status for client-side verification
Add a boolean analysis_image field to the CMD_QUERY status response that
reports whether zms is actually sending analysis images (with motion zone
overlays) or regular capture images. This lets MonitorStream.js detect
when the stream state is out of sync with what the client requested and
re-send the CMD_ANALYZE_ON/OFF command to correct it.

The field is true only when frame_type is FRAME_ANALYSIS, shared memory
is valid, and the monitor has analysis enabled — matching the same
condition used to select the image in the streaming loop.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:44:49 -04:00
..
CMakeLists.txt fix: link stdc++fs for std::filesystem on GCC 8 and add zma to RPM spec 2026-02-26 08:02:26 -05:00
bindings.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
jinclude.h
zm.cpp Move exit_zms to exit_zm in zm.cpp 2026-01-05 16:36:36 -05:00
zm.h Move exit_zms to exit_zm in zm.cpp 2026-01-05 16:36:36 -05:00
zm_analysis_thread.cpp Wait on the packetqueue condition instead of sleeping. Should help analysis keep up with decoding better and offer faster shutdown. 2026-02-04 20:44:17 -05:00
zm_analysis_thread.h Add Join() function 2024-10-26 14:29:40 -04:00
zm_box.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_buffer.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_buffer.h fix: prevent null pointer dereference in Buffer::tidy() 2026-02-02 20:34:33 -05:00
zm_camera.cpp fix: address multiple bugs across core source files 2026-02-03 10:18:49 -05:00
zm_camera.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_comms.cpp fix: address multiple bugs across core source files 2026-02-03 10:18:49 -05:00
zm_comms.h fix: correct socket copy constructor and buffer overflow in recv 2026-02-02 20:44:01 -05:00
zm_config.cpp fix: address multiple bugs across core source files 2026-02-03 10:18:49 -05:00
zm_config.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_config_data.h.in fix: add www-data to video group and font path fallback refs #4642 2026-02-23 18:19:20 -05:00
zm_crypt.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_crypt.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_crypto_generics.h Misc: Rename namespace ZM to zm 2021-06-06 19:11:11 +02:00
zm_crypto_gnutls.h Crypto: Implement SHA1 hashing 2021-05-30 22:56:21 +02:00
zm_crypto_openssl.h Crypto: Implement SHA1 hashing 2021-05-30 22:56:21 +02:00
zm_db.cpp fix: address multiple bugs across core source files 2026-02-03 10:18:49 -05:00
zm_db.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_decoder_thread.cpp Wait on the packetqueue condition instead of sleeping. Should help analysis keep up with decoding better and offer faster shutdown. 2026-02-04 20:44:17 -05:00
zm_decoder_thread.h Add Join() function 2024-10-26 14:29:40 -04:00
zm_define.h zm_define: Include cstddef so we have size_t 2021-05-16 16:42:58 +02:00
zm_event.cpp fix: resolve Event::Run thread hang preventing zmc clean shutdown 2026-02-12 23:00:59 -05:00
zm_event.h fix: resolve Event::Run thread hang preventing zmc clean shutdown 2026-02-12 23:00:59 -05:00
zm_event_tag.cpp fix: address multiple bugs across core source files 2026-02-03 10:18:49 -05:00
zm_event_tag.h Add tags support to events. 2025-07-05 08:09:09 -04:00
zm_eventstream.cpp fix: prevent segfault when MPEG stream codec fails to open 2026-03-05 02:15:08 +00:00
zm_eventstream.h refactor: remove unused reuse_image_ member to keep changes minimal 2026-02-11 04:20:55 +00:00
zm_exception.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_exception.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_ffmpeg.cpp Add mpeg4 as some older cameras that use are still funcitoning 2026-02-05 09:08:02 -05:00
zm_ffmpeg.h Cleanup hw_pix_fmt and get_hw_format 2026-01-26 14:40:10 -05:00
zm_ffmpeg_camera.cpp refactor: use CxxUrl for URL auth injection in FFmpegCamera 2026-02-23 18:16:55 -05:00
zm_ffmpeg_camera.h Cleanup hw_pix_fmt and get_hw_format 2026-01-26 14:40:10 -05:00
zm_ffmpeg_input.cpp fix: Handle incomplete.mp4 in cpp file. 2026-03-06 12:33:25 -05:00
zm_ffmpeg_input.h Cleanup constructor and add the new codec_data stuff to try out multiple codecs 2025-09-22 09:52:25 -04:00
zm_ffmpeg_output.cpp fix: add null check and fix error message in FFmpeg_Output 2026-02-03 11:03:17 -05:00
zm_ffmpeg_output.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_fifo.cpp fix: address multiple bugs in eventstream, fifo, and monitor 2026-02-02 23:24:08 -05:00
zm_fifo.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_fifo_debug.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_fifo_debug.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_fifo_stream.cpp fix: correct error message and add null check in FifoStream 2026-02-03 11:36:53 -05:00
zm_fifo_stream.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_file_camera.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_file_camera.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_font.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_font.h Utils: Add our own ASSERT macro 2021-05-30 21:41:58 +02:00
zm_frame.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_frame.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_group.cpp fix: correct typo in Group warning message 2026-02-03 11:42:14 -05:00
zm_group.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_group_permission.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_group_permission.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_image.cpp fix: add www-data to video group and font path fallback refs #4642 2026-02-23 18:19:20 -05:00
zm_image.h perf: reuse persistent blend buffer in Image::Blend() 2026-02-07 22:32:56 -05:00
zm_image_analyser.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_image_analyser.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_jpeg.cpp Change various cases of int img_buffer_size to size_t 2025-07-19 14:18:32 -04:00
zm_jpeg.h Change various cases of int img_buffer_size to size_t 2025-07-19 14:18:32 -04:00
zm_libvlc_camera.cpp fix: add null check before calling libvlc_media_player_stop in Terminate 2026-02-03 11:49:58 -05:00
zm_libvlc_camera.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_libvnc_camera.cpp fix: fix typo, add null check, and use correct free function in VncCamera 2026-02-03 12:09:44 -05:00
zm_libvnc_camera.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_line.h Polygon: Implement clipping to a boundary box 2021-05-16 19:41:45 +02:00
zm_local_camera.cpp fix: skip V4L2 AutoSelectFormat in non-capture mode 2026-02-15 15:38:07 -05:00
zm_local_camera.h Make most Fatals into Errors 2026-01-29 18:50:42 -05:00
zm_logger.cpp feat: add AUDIT logging level for tracking administrative changes 2026-02-23 18:19:20 -05:00
zm_logger.h feat: add AUDIT logging level for tracking administrative changes 2026-02-23 18:19:20 -05:00
zm_mem_utils.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_monitor.cpp fix: include alarm_frame_count in ready_count calculation 2026-03-07 12:32:28 -05:00
zm_monitor.h refactor: move HAVE_LIBCURL guards inside class definitions as stubs 2026-03-05 02:41:06 +00:00
zm_monitor_amcrest.cpp fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build 2026-03-05 02:13:59 +00:00
zm_monitor_go2rtc.cpp fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build 2026-03-05 02:13:59 +00:00
zm_monitor_janus.cpp fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build 2026-03-05 02:13:59 +00:00
zm_monitor_monitorlink.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_monitor_onvif.cpp refactor: move format_absolute_time_iso8601 from zm_monitor_onvif to zm_time 2026-02-12 16:53:39 -05:00
zm_monitor_onvif.h fix: correct WSA Action for PullMessages and throttle auth error logging 2026-02-09 11:34:44 -05:00
zm_monitor_permission.cpp Make permission values 0 based but stsarting with UNKNOWN because when doing permission+0 in SQL, we get a 1-based value 2022-11-03 18:28:23 -04:00
zm_monitor_permission.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_monitor_rtsp2web.cpp fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build 2026-03-05 02:13:59 +00:00
zm_monitorlink_expression.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_monitorlink_expression.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_monitorlink_token.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_monitorstream.cpp feat: add analysis_image field to stream status for client-side verification 2026-03-08 15:44:49 -04:00
zm_monitorstream.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_mpeg.cpp fix: prevent segfault when MPEG stream codec fails to open 2026-03-05 02:15:08 +00:00
zm_mpeg.h fix: prevent segfault when MPEG stream codec fails to open 2026-03-05 02:15:08 +00:00
zm_mqtt.cpp fix: use mosquitto_strerror() for MQTT error codes 2026-02-02 20:53:00 -05:00
zm_mqtt.h Fix definition of on_publish 2024-10-29 13:30:29 -04:00
zm_packet.cpp perf: add monotonic queue_index to ZMPacket for O(1) iterator lookup 2026-02-07 23:41:48 -05:00
zm_packet.h perf: replace sleep polling with condition wait in Event::Run() 2026-02-15 15:38:07 -05:00
zm_packetqueue.cpp perf: reduce lock contention in PacketQueue 2026-02-15 15:38:07 -05:00
zm_packetqueue.h perf: reduce lock contention in PacketQueue 2026-02-15 15:38:07 -05:00
zm_poll_thread.cpp fix: call Stop() before restarting in PollThread::Start() 2026-02-03 12:13:29 -05:00
zm_poll_thread.h Adds ONVIF Motion Detection Support 2022-01-06 16:45:15 -06:00
zm_poly.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_poly.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_regexp.cpp Port to PCRE2 (Closes: #3384). 2025-02-26 21:04:32 +11:00
zm_regexp.h Port to PCRE2 (Closes: #3384). 2025-02-26 21:04:32 +11:00
zm_remote_camera.cpp fix: check for empty path before accessing first character 2026-02-03 12:25:21 -05:00
zm_remote_camera.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_remote_camera_http.cpp fix: correct inet_ntop buffer size in RemoteCameraHttp 2026-02-04 17:41:37 -05:00
zm_remote_camera_http.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_remote_camera_nvsocket.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_remote_camera_nvsocket.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_remote_camera_rtsp.cpp Removing avcodec_close, avcodec_free_context is replacement and been around since 2014, so should be no reason to version test. 2024-09-14 11:06:55 +10:00
zm_remote_camera_rtsp.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rgb.h Fix brg_to_yuv 2025-09-18 10:07:50 -04:00
zm_rtp.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtp.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtp_ctrl.cpp fix: correct NTP timestamp type truncation in RtpCtrlThread 2026-02-03 12:34:21 -05:00
zm_rtp_ctrl.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtp_data.cpp fix: correct type mismatches in RtpDataThread 2026-02-03 12:45:56 -05:00
zm_rtp_data.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtp_source.cpp fix: prevent division by zero in RtpSource::updateRtcpData 2026-02-03 12:47:14 -05:00
zm_rtp_source.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp.cpp fix: add null checks in RtspThread to prevent crashes 2026-02-03 12:28:30 -05:00
zm_rtsp.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_auth.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_auth.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server.cpp Add av1 support 2026-01-31 12:43:03 -05:00
zm_rtsp_server_adts_source.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_adts_source.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_authenticator.h Fix Authenticate as nonce is now internal 2026-01-09 11:43:15 -05:00
zm_rtsp_server_device_source.cpp Replace C-style casts with C++ static_cast for intmax_t 2026-01-05 13:36:16 +00:00
zm_rtsp_server_device_source.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_fifo_adts_source.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_fifo_adts_source.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_fifo_audio_source.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_fifo_audio_source.h Add av1 support 2026-01-31 12:43:03 -05:00
zm_rtsp_server_fifo_av1_source.cpp Add zm_rtsp_server_fifo_av1_source 2026-01-31 16:19:38 -05:00
zm_rtsp_server_fifo_av1_source.h Add zm_rtsp_server_fifo_av1_source 2026-01-31 16:19:38 -05:00
zm_rtsp_server_fifo_h264_source.cpp fix: prevent underflow and type mismatch in H264 fifo source 2026-01-30 15:30:40 -05:00
zm_rtsp_server_fifo_h264_source.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_fifo_source.cpp fix: multiple issues in zm_rtsp_server_fifo_source 2026-01-30 14:49:53 -05:00
zm_rtsp_server_fifo_source.h fix: multiple issues in zm_rtsp_server_fifo_source 2026-01-30 14:49:53 -05:00
zm_rtsp_server_fifo_video_source.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_fifo_video_source.h Add av1 support 2026-01-31 12:43:03 -05:00
zm_rtsp_server_frame.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_server_media_subsession.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_server_media_subsession.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_unicast_server_media_subsession.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_rtsp_server_unicast_server_media_subsession.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_sdp.cpp fix: address multiple issues in SessionDescriptor::generateFormatContext 2026-02-03 13:34:17 -05:00
zm_sdp.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_sendfile.h Fix complaint 2023-01-18 16:01:42 -05:00
zm_server.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_server.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_signal.cpp fix: improve crash backtrace on ARM and fix misleading signal info 2026-01-30 15:09:02 -05:00
zm_signal.h fix: improve crash backtrace on ARM and fix misleading signal info 2026-01-30 15:09:02 -05:00
zm_storage.cpp fix: add empty checks and use safer string functions in Storage 2026-02-03 12:30:06 -05:00
zm_storage.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_stream.cpp fix: prevent segfault when MPEG stream codec fails to open 2026-03-05 02:15:08 +00:00
zm_stream.h fix: prevent segfault in MonitorStream::processCommand from shared memory race 2026-02-23 18:19:20 -05:00
zm_swscale.cpp fix: correct copy-paste error in pixel format warning 2026-02-03 16:47:43 -05:00
zm_swscale.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_tag.cpp Add tags support to events. 2025-07-05 08:09:09 -04:00
zm_tag.h Add tags support to events. 2025-07-05 08:09:09 -04:00
zm_time.cpp refactor: move format_absolute_time_iso8601 from zm_monitor_onvif to zm_time 2026-02-12 16:53:39 -05:00
zm_time.h refactor: move format_absolute_time_iso8601 from zm_monitor_onvif to zm_time 2026-02-12 16:53:39 -05:00
zm_uri.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_uri.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_user.cpp fix: fix memory leaks in User::find() functions 2026-02-03 12:24:07 -05:00
zm_user.h Add ::find methods and getAuthHash 2025-08-05 14:13:39 -04:00
zm_utils.cpp Fix appending %% instead of % when uri decoding. Add test for URIEncode 2026-02-04 20:45:46 -05:00
zm_utils.h fix: shell-escape %EC% token to prevent command injection 2026-02-15 15:38:07 -05:00
zm_vector2.h Format code using astyle google format 2024-03-26 13:43:58 -05:00
zm_videostore.cpp fix: use +1 instead of +last_duration for equal DTS fixup 2026-03-07 12:32:28 -05:00
zm_videostore.h Move codec_data from videostore to ffmpeg. Add dec_codecs and add a function to return relevant codec_data and setup hw_ctx. 2025-09-18 09:27:31 -04:00
zm_zone.cpp fix: auto-detect zone coordinate format instead of trusting Units field 2026-03-08 15:26:36 -04:00
zm_zone.h feat: store zone coordinates as percentages for resolution independence (src only) 2026-02-12 18:06:56 -05:00
zm_zone_stats.h perf: reduce logging overhead and string temporaries in Analyse() 2026-02-07 22:52:15 -05:00
zma.cpp fix: add missing unistd.h include in zma.cpp for FreeBSD build 2026-03-04 09:23:38 -05:00
zmbenchmark.cpp Format code using astyle google format 2024-03-26 13:43:58 -05:00
zmc.cpp fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build 2026-03-05 02:13:59 +00:00
zms.cpp Move exit_zms to zm.cpp exit_zm. Add time= parsing and prefer loading by event_id if specified 2026-01-05 16:38:35 -05:00
zmu.cpp Remove unused loop index in zmu list output 2025-12-31 22:29:37 +11:00