Commit Graph
4479 Commits
Author SHA1 Message Date
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