Isaac Connor
df5b14dbd4
Merge pull request #3221 from Carbenium/zone-stats
...
Some optimizations/cleanups concerning Zones and ZoneStats
2021-04-27 09:26:07 -04:00
Isaac Connor
7bbcb7e36a
Merge pull request #3223 from Carbenium/font
...
Modernize the ZmFont API and add tests
2021-04-25 19:57:32 -04:00
Peter Keresztes Schmidt
3020acf994
ZmFont: Store character padding in font file
...
The size/variant specific character padding should be stored with the font data.
Modify the FontBitmapHeader accordingly and introduce a version field in the FontFileHeader
so we are able to check we have a font file with the right structure associated with that version.
The version field is set to 1 in this changeset.
2021-04-25 23:13:21 +02:00
Peter Keresztes Schmidt
a918e8aeba
Image: Modernize Annotate method
2021-04-25 23:13:21 +02:00
Peter Keresztes Schmidt
07e49e47af
utils: Add a clamping function mimicking std::clamp
...
This can be replaced with std::clamp in C++17.
2021-04-25 23:13:21 +02:00
Peter Keresztes Schmidt
0c939f45dd
ZmFont: Rework/modernize API
2021-04-25 23:13:21 +02:00
Peter Keresztes Schmidt
6d06eac55e
Monitor: Fix a crash when destroying a monitor (shutdown)
...
We have to make sure close_event_thread is joined before we destroy the thread object,
otherwise std::terminate will be called.
2021-04-25 23:09:32 +02:00
Peter Keresztes Schmidt
4180bc99ac
Zone: Sprinkle some const-ness
...
Keep references in for-loops const if no modifications are preformed on the object.
2021-04-25 22:34:33 +02:00
Peter Keresztes Schmidt
d4458d1216
Monitor: Store zones as vector instead of list
...
std::vector suits the usage pattern better with no random inserts/deletions
2021-04-25 22:29:18 +02:00
Peter Keresztes Schmidt
bb35d0a8bb
Frame: Auto-format
2021-04-25 22:29:18 +02:00
Peter Keresztes Schmidt
eb51408ef9
ZMPacket+Frame: Use vector to store ZoneStats
...
We don't any of the usage patterns that would warrant a std::list (random insert/deletion). Switch to vector which has much lower overhead for this kind of usage.
2021-04-25 22:29:18 +02:00
Peter Keresztes Schmidt
ad32a94931
ZoneStats: Rename members according to Google style guide
2021-04-25 17:18:07 +02:00
Peter Keresztes Schmidt
9e4674b53a
ZoneStats: Let the compiler define the copy constr. and assignment op.
...
There is no need for the user-defined versions since no manual resource management is done in the class.
Also a user-defined copy constructor or assignment operator prevents the implicit definition of a move constructor.
2021-04-25 17:18:07 +02:00
Isaac Connor
95a715a96a
When resume is given, clear the ref image, so that analysis can re-assign it. Don't do ref image in decode, leave it for analysis only. Handle zm_terminate after waiting for decode.
2021-04-23 14:52:29 -04:00
Isaac Connor
affac43964
Move DumpImgBuffer into public section so that we can clear an image instead of deleting it
2021-04-23 14:52:29 -04:00
Isaac Connor
76080cb857
add a stop function to dbQueue to clear out the queue before we kill log.
2021-04-23 09:25:07 -04:00
Isaac Connor
3e88f60f6d
Fix end code block comment on DetectMotion
2021-04-23 09:19:13 -04:00
Isaac Connor
b9fb08745c
Cleanup, fix length test for stats insert
2021-04-23 09:18:56 -04:00
Isaac Connor
9e890a7539
Add libcurl.so.4 as an option to load before libcurl-gnutls
2021-04-23 09:10:54 -04:00
Isaac Connor
27d200d376
Switch to using std::string for inserting frames and stats. We just can't know how long the sql will be and we aren't going to waste 2MB of ram on it. Remove unused functions.
2021-04-22 22:30:45 -04:00
Isaac Connor
8671e65517
More work on flushing out ZoneStats. Use references to avoid copying
2021-04-21 21:40:39 -04:00
Isaac Connor
be9c5d3f95
Introduce a ZoneStats structure/class and implement a list of them in packet, frame. Store the stats in a list in the packet until it is time to write them to the db in the event. Hence implement batched queuing of stats.
2021-04-21 17:51:43 -04:00
Isaac Connor
8ca93d2f0b
store event stats regardless of savejpegs or image availability
2021-04-21 14:59:57 -04:00
Isaac Connor
408e0963a0
Improve code and logging
2021-04-20 23:06:17 -04:00
Isaac Connor
b2f96728d5
Spacing and improve debugging
2021-04-20 23:06:04 -04:00
Isaac Connor
c48b42c2df
alarm frames without an image are still alarm frames. Count them in alarm count
2021-04-20 23:05:52 -04:00
Isaac Connor
fd72fbd2ac
Remove unused state var and unneeded if have_output
2021-04-20 17:22:35 -04:00
Isaac Connor
c7f06dda0b
Improve copy constructor to use initializers
2021-04-20 17:18:57 -04:00
Isaac Connor
a3379c986b
Only have fifo if HAVE_LIBSWRESAMPLE
2021-04-20 17:18:45 -04:00
Isaac Connor
1657d30be6
add override
2021-04-20 17:18:23 -04:00
Isaac Connor
9ea10584b7
pass fifo by const ref
2021-04-20 17:18:09 -04:00
Isaac Connor
9a54956163
pass fifo by const ref
2021-04-20 17:18:00 -04:00
Isaac Connor
c83b9190cb
pass peer_ip by const ref
2021-04-20 17:16:09 -04:00
Isaac Connor
05e7b6dfc5
add explicit
2021-04-20 17:15:53 -04:00
Isaac Connor
1f48dbbf6c
Use %u instead of %d for monitor id
2021-04-20 17:15:39 -04:00
Isaac Connor
6dc05ec942
add overrides
2021-04-20 17:09:51 -04:00
Isaac Connor
f23baf22de
Remove unused edges and slices
2021-04-20 17:09:42 -04:00
Isaac Connor
b6af846664
add missing initializers
2021-04-20 17:09:14 -04:00
Isaac Connor
beb2c4ddf7
fix redundant if
2021-04-20 17:09:00 -04:00
Isaac Connor
b37aa35085
improve scope of a,b
2021-04-20 17:07:07 -04:00
Isaac Connor
ccf1599b3a
use better variable names and avoid reusing user
2021-04-20 17:06:29 -04:00
Isaac Connor
de661752ce
pass jwt_token_str by reference
2021-04-20 17:04:45 -04:00
Isaac Connor
1f7da2835f
Fix overlaping use of i variable. Remove unused payloadDesc
2021-04-20 17:01:54 -04:00
Isaac Connor
21b6ac5a43
Make params const
2021-04-20 16:41:08 -04:00
Isaac Connor
da3a302ddd
improve scope of buffer_len
2021-04-20 16:38:42 -04:00
Isaac Connor
d86fc9fdd6
fix = operator to not require self-check
2021-04-20 16:35:47 -04:00
Isaac Connor
77055ee1cc
Remove unused code
2021-04-20 16:18:50 -04:00
Isaac Connor
7a674be285
Quiet cppcheck
2021-04-20 14:25:17 -04:00
Isaac Connor
32ae30a7b2
Fix alarm cause
2021-04-20 14:19:29 -04:00
Isaac Connor
433c3388fe
Pass where string by ref
2021-04-20 14:13:09 -04:00