Isaac Connor
bc942f194b
fix: update heartbeat during camera close and reconnect
...
avformat_close_input() can block for 75-90s on TCP retransmit timeout
when an RTSP camera becomes unresponsive, and the connect() retry loop
also lacks heartbeat updates. This causes zmwatch to kill zmc with a
stale heartbeat even though the process is actively reconnecting.
Add SetHeartbeatTime() calls before/after Close() and in the connect()
retry loop so zmwatch knows zmc is still alive during reconnection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 15:38:08 -05:00
Isaac Connor
15e97361b3
Only log a capture failure if we aren't terminated
2026-01-15 16:31:22 -05:00
Mike
b56aa9bf85
Fix an uncontrolled FPS scenario leading to OOM.
...
When the camera exposure time is held longer than the record FPS time and then reduced to under.
2025-07-13 22:09:24 +01:00
Isaac Connor
8e5a9e462c
Don't loop forever ignoring sigterm on initial connect
2025-01-16 17:29:10 -05:00
Isaac Connor
36f45fdbc7
Wait until we get a successful shm connect before trying to set StartupTime. fixes crash
2024-12-12 12:21:32 -05:00
Isaac Connor
9f536ccb22
GetLastWriteIndex returns -1 when it is equal to image_buffer_count
2024-10-28 16:06:57 -04:00
Isaac Connor
6cc423bf7a
Change logic for going to sleep to just have an image instead of using Ready() which looks for keyframe interval.
2024-10-28 15:51:44 -04:00
Isaac Connor
5eb2a97fce
Set fps and bandwidth to 0 on zmc exit.
2024-05-09 09:48:01 -04:00
Isaac Connor
39575343ad
Use monitor->Importance when logging about failed captures
2024-05-08 14:45:27 -04:00
Aaron Kling
c4683d90a9
Format code using astyle google format
...
Commands used:
astyle --style=google --indent=spaces=2 --keep-one-line-blocks src/*.cpp
astyle --style=google --indent=spaces=2 --keep-one-line-blocks src/*.h
2024-03-26 13:43:58 -05:00
Isaac Connor
92e6a9b5d0
Rough in startup_delay function
2024-03-18 12:54:30 -04:00
Isaac Connor
164e003ab6
Set Heartbeat when not capturing due to ondemand
2023-12-10 09:46:28 -05:00
Isaac Connor
c2946f203e
Reduce debug logging. Clean up Play/Pause a bit.
2023-12-06 12:25:12 -05:00
Isaac Connor
b03838018c
When Capturing=ONDEMAND, still PrimeCapture to get an image, and then Pause.
2023-12-06 09:42:26 -05:00
Isaac Connor
9ab31196b5
Don't need to set heartbeat after connect. It willb e set in connect.
2023-11-07 09:15:45 -05:00
Isaac Connor
69891c877e
Term log after dbClose, dbClose does a debug log
2023-10-26 16:26:56 -04:00
Isaac Connor
2576c5dfc5
Reset CaptureBandwidth to 0 on startup and after failed connection
2023-08-09 10:25:31 -04:00
Isaac Connor
fa266c6578
Reread config files and reread db config when given HUP
2023-07-17 13:46:47 -04:00
Isaac Connor
2ca4756958
Only update fps if capture was successful. Beacuse it now also updates status to say Conected
2022-12-07 20:35:56 -05:00
Isaac Connor
b40423d720
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2022-08-02 20:57:48 -04:00
Isaac Connor
c40cedc15c
Simply code about zm_terminate, replace fixed 60 second max sleep time with ZM_WATCH_MAX_DELAY
2022-08-02 20:45:45 -04:00
Doug Nazar
3c5e44dfe5
Need unistd.h for getpid().
2022-07-16 10:03:16 +00:00
Isaac Connor
4caffe4674
Include iostream since we use it
2022-07-14 13:42:54 -04:00
Isaac Connor
66f5b9b93d
Remove zm_rtsp_server_thread as it isn't used anymore
2022-07-14 12:01:10 -04:00
Isaac Connor
e86dd7eb32
move curl init and cleanup into zmc
2022-06-07 18:19:00 -04:00
Isaac Connor
27bc8d9764
Stop the dbQueue before closing logs. Since dbQueue.stop() join's the dbQueue thread, it should not log after we return.
2022-05-18 19:00:40 -04:00
Isaac Connor
cf31db0bad
Merge branch 'master' into replace_function_concept
2022-02-27 14:05:34 -05:00
Isaac Connor
133553e630
Revert "Merge pull request #3119 from Carbenium/fmt"
...
This reverts commit 90d930c7c3 , reversing
changes made to 0bcb9d276f .
2022-02-27 14:05:14 -05:00
Isaac Connor
e33b41745d
Merge branch 'master' into replace_function_concept
2022-02-27 14:04:01 -05:00
Isaac Connor
cad57df0bb
Merge branch 'master' into fmt
2022-02-26 13:56:20 -05:00
Isaac Connor
a250567e74
add sleeping when no viewers and in ondemand mode
2022-01-01 17:54:47 -05:00
Isaac Connor
6bd04de5f6
Merge branch 'master' into multistream
2021-12-31 17:53:36 -05:00
Isaac Connor
b4511a8fc3
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2021-12-10 16:20:54 -05:00
Isaac Connor
c42b75a252
must clear the monitors array before terminating log.
2021-12-10 16:20:44 -05:00
Isaac Connor
1cddac4efd
remove remaining signal blocking cruft, add ignoring sigchld so that anything we spawn doesn't become a zombie.
2021-11-29 18:34:19 -05:00
Isaac Connor
a2ae63cefe
Merge branch 'master' into fmt
2021-11-16 15:10:45 -05:00
Isaac Connor
93055f44e8
Merge UpdateCaptureFPS and UpdateAnalysisFPS into UpdateFPS and call it from zmc after capture.
2021-11-03 17:03:29 -04:00
Isaac Connor
3770306817
Add logic to skip capturing if Capturing()==Ondemand
2021-10-25 16:53:18 -04:00
Peter Keresztes Schmidt
6e96cbe14a
Misc: Merge ZM_HAS_V4L with ZM_HAS_V4L2
2021-09-08 00:19:08 +02:00
Peter Keresztes Schmidt
65656de6ce
db: Adjust the query methods to accept std::strings
2021-07-06 10:20:46 +02:00
Peter Keresztes Schmidt
c60b577aec
Convert more char array buffers to std::string
...
Remove now unused ZM_SQL_*SIZE defines
2021-07-06 10:20:46 +02:00
Peter Keresztes Schmidt
f675afc3f2
zmc: Convert internals to std::chrono
2021-06-13 23:22:51 +02:00
Peter Keresztes Schmidt
707975e567
Monitor: Convert API to std::chrono
2021-06-13 23:22:49 +02:00
Peter Keresztes Schmidt
7474294ac3
Time: Remove DELTA_TIMEVAL macro and replace usage with proper std::chrono::duration operations
2021-06-06 16:41:36 +02:00
Isaac Connor
5a8fa9efc9
Remove dead code and useless debug
2021-05-12 18:54:07 -04:00
Isaac Connor
2cf6ad8089
Switch ZMPacket * to a shared_ptr<ZMPacket>. This is so that in LockedPacket we can unlock and then notify and be confident that packet_ won't have been deleted. Change ZMPacket->timestamp to be a timeval instead of timeval *. This might not have been necessary but I like it. No longer cuse the ZMPacket object to wrap the shared image buffers and timestamps. Use a vector for image_buffers.
2021-05-08 21:14:20 -04:00
Isaac Connor
8f27db5d6f
Do not stop dbQueue in logTerm. dbQueue is not just for logging.
2021-05-04 14:22:02 -04:00
Isaac Connor
bf72bb2a22
Increase sleep after prime failure up to a minute.
2021-05-03 10:38:01 -04:00
Isaac Connor
59b1927ad6
do dbQUeue.stop in logTerm so we don't have to have an extra line in every executable
2021-05-01 14:49:33 -04:00
Peter Keresztes Schmidt
68bedfe48f
Fix logging format string mismatches
...
* Remove SZFMTD format macro and use %zu instead for size_t. %zu is understood by every compiler nowadays.
2021-04-30 00:26:24 +02:00