Commit Graph

237 Commits

Author SHA1 Message Date
Isaac Connor
6e6b3d097b Fix lock around deleting causinganalysis to hang 2026-01-15 16:32:32 -05:00
Isaac Connor
cb23ce65e8 We don't need to lock the packets to delete them. 2026-01-15 16:32:32 -05:00
Isaac Connor
a10f65d574 Always delete frames when we don't care about keyframes 2026-01-15 16:32:32 -05:00
Isaac Connor
1d8bbcb916 Improve debug 2026-01-15 16:32:32 -05:00
Isaac Connor
eb2c13e151 Log when failed to lock packet. 2026-01-15 16:32:32 -05:00
Isaac Connor
3734e2c213 Log the # of packets removed 2026-01-15 16:32:32 -05:00
Isaac Connor
e38e88f2d9 iterator at the beginning is ok, make it a debug 2026-01-15 16:32:32 -05:00
Isaac Connor
376052684d Maybe fix memleak on iterators 2026-01-15 16:32:32 -05:00
Isaac Connor
131b5caee0 Update to RAII style ZMPacketLock. Rename snap to packet in zm_monitor. Keep hw_frame in packet." 2026-01-15 12:46:23 -05:00
Isaac Connor
f45c085bf6 Fix clearing packets in queuePacket 2026-01-15 12:46:23 -05:00
Isaac Connor
ef35a1f007 If every frame is a keyframe, we didn't set keyframe interval, so handle it as a special case 2025-09-24 12:26:06 -04:00
Isaac Connor
bb356a8b96 Add debug of new keyframe interval 2025-09-06 10:28:32 -04:00
Isaac Connor
09c767174f Try out a better method of counting keyframes 2025-09-06 10:27:34 -04:00
Isaac Connor
3c4dca78f0 Log when failed to lock packet. 2025-09-06 10:26:32 -04:00
Isaac Connor
eb09e0ad33 Log the # of packets removed 2025-09-06 10:17:41 -04:00
Isaac Connor
3be4e1440e Reduce debug logging 2025-09-06 10:17:19 -04:00
Isaac Connor
727e1fe5bb Add debug to not keeping keyframes case 2025-09-06 10:14:29 -04:00
Isaac Connor
a0b8d2f6ca Maybe fix memleak on iterators 2025-02-25 14:39:46 -05:00
Isaac Connor
e06e14f75c iterator at the beginning is ok, make it a debug 2025-02-25 14:34:38 -05:00
Isaac Connor
f7232972de Fix clearing packets in queuePacket 2025-01-24 12:35:46 -05:00
Isaac Connor
0755d56cba Must update iterator 2024-11-30 10:39:42 -05:00
Isaac Connor
66651824b5 Must move iterators for all deleted packets 2024-11-29 16:38:34 -05:00
Isaac Connor
697db024e1 Add more debug 2024-11-28 19:24:22 -05:00
Isaac Connor
52c41d166b When deleting packets in queuePacket if it is a keyframe, then delete everything from the beginning, so that we don't get a huge time gap between the first packet and the next 2024-11-28 17:01:13 -05:00
Isaac Connor
dadd9e24df when counting keyframe interval in clearPackets start at 0. Reset max_keyframe_interval when clearing packetqueue. This prevents errors in log when using ondemand capture 2024-10-24 10:23:29 -04:00
Isaac Connor
8496ce637a When every frame is a keyframe, make max_keyframe_interval=1 instead of 0 as 0 is the uninitialised state 2024-10-24 10:11:31 -04:00
Isaac Connor
c294ad09ff Must obtain lock in free_it 2024-08-07 15:22:35 -04:00
Isaac Connor
5d67c452b9 Don't pass zm_packet by reference 2024-08-07 12:26:24 -04:00
Isaac Connor
930a0e8e8f Fix simplified tail counting 2024-08-07 12:26:24 -04:00
Isaac Connor
2779839c55 Simplify code that counts the distance from analysis it to pktqueue.end 2024-08-07 12:26:24 -04:00
Isaac Connor
79a8e96086 Add get_packet_no_wait for tasks that should not wait indefinitely 2024-08-01 18:00:42 -04:00
Isaac Connor
1b36941add Check for iterator pointing to first packet. This is a special case. 2024-07-29 16:11:31 -04:00
Isaac Connor
703520b727 Revert "Simplify code that counts the distance from analysis it to pktqueue.end"
This reverts commit 27fcad7d85.
2024-07-23 10:38:10 -04:00
Isaac Connor
27fcad7d85 Simplify code that counts the distance from analysis it to pktqueue.end 2024-07-19 14:44:29 -04:00
Isaac Connor
e8aaee4b21 Put back code that looks for iterators when cleaning packet queue. event thread can now have an iterator that follows analysis 2024-07-13 10:01:00 -04:00
Isaac Connor
13efaf4f83 Allow prev_dts==dts because it is really common and zm_videostore will correct it. 2024-06-14 18:34:33 -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
ef215b1427 Slight code improvements, mostly for readability 2024-01-08 13:06:03 -05:00
Isaac Connor
f07612c25f Only calculate keyframe interval using video stream 2023-12-06 12:25:30 -05:00
Isaac Connor
09081be010 Fix again the infinite loop in counting keyframes 2023-09-11 11:29:54 -04:00
Isaac Connor
1f4ed44371 Fix infinite loop looking for keyframe interval 2023-09-08 14:16:31 -04:00
Isaac Connor
5953b88085 Count keyframes on queuePacket so that analysis Ready() will start when out of order packets are present 2023-08-23 11:41:54 -04:00
Isaac Connor
ca513c0a74 Add deleting status to debug 2023-01-10 12:07:35 -05:00
Isaac Connor
d079439005 Merge branch 'reports' of http://github.com/ConnorTechnology/zoneminder into reports 2022-09-12 19:40:27 +02:00
Isaac Connor
f610cd5e1b Don't trust zm_packet->packet to not be null 2022-09-01 13:04:40 +02:00
Isaac Connor
8558ade8f1 Merge branch 'master' into misc_fixes 2022-08-25 18:33:06 -04:00
Isaac Connor
85795c30ee Remove warning about maxImageBuffer. It will be handled in queuePacket as it was before, only now we actually tell about the keyframe interval. It is entirely common to not get to another keyframe due to locked packets during event writing. 2022-08-19 13:33:22 -04:00
Isaac Connor
de3ffa72c8 set decoded=true and notify when deleting packets from queue. Analysing might be waiting on the packet. 2022-08-19 13:33:22 -04:00
Isaac Connor
765714d976 Keep track of max_keyframe_interval and log it when complaining 2022-08-19 13:33:22 -04:00
Isaac Connor
11846ed208 Don't need max_keyframe_interval. Whether our it is still pointing at the front is enough. Only log the warning if the packetqueue is full and we couldn't find another keyframe. 2022-08-19 13:33:22 -04:00