Isaac Connor
d0ca677207
Fix %u instead of %d for id which is unsigned. Pass string instead of c_str
2022-07-14 12:07:26 -04:00
Isaac Connor
9093a8694b
Fix crashes. Zones should use const for monitor object and not references.
2022-06-07 20:52:39 -04:00
Isaac Connor
07e32025df
Just store the linked_monitors string instead of parsing and loading of related objects. Only call ReloadLinkedMonitors if doing analysis. Convert zone id's to unsigned
2022-06-07 18:36:25 -04:00
Isaac Connor
78a87517f6
convert to taking a std::shared_ptr<Monitor> instead of a Monitor *. Implement Name() which just returns the std::string label.
2022-06-07 18:18:24 -04:00
Isaac Connor
e51d3a206f
Use auto to get the right type for n_coords
2022-05-18 17:07:06 -04:00
Isaac Connor
b254f990d0
Warn when the number of vertices changes due to clipping
2022-05-17 15:05:25 -04:00
Isaac Connor
3f7b9dfff7
fix cppcheck error about lo_x. Inner scope overwriting it.
2022-01-10 17:36:50 -05:00
Isaac Connor
e8bb095730
include monitor dimensions when logging about zone mismatch
2021-11-24 14:28:31 -05:00
Mike Dussault
d38a6adec4
No behavior change. Added non-const versions of Image::Buffer and fixed a few places that were casting away the constness.
2021-10-12 21:54:49 +00:00
Isaac Connor
b0cf3a4732
Merge pull request #3314 from Carbenium/path-max
...
Fix Wformat for stringtf and convert path buffers depending on PATH_MAX to std::string
2021-07-07 11:34:03 -04:00
Peter Keresztes Schmidt
80b08a2075
Convert path buffers depending on PATH_MAX to std::string
2021-07-06 10:33:17 +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
b1de220958
Polygon: Perform clip operation on existing object instead of returning a new clipped one
2021-05-16 19:42:41 +02:00
Peter Keresztes Schmidt
29488900a1
Box: Make range calculations mathematically correct
2021-05-16 19:41:45 +02:00
Peter Keresztes Schmidt
ef7a083891
Zone: Actually clip the zone if it larger than the image
...
Until now only the boundary box was manually adjusted without actually clipping the polygon.
2021-05-16 19:41:45 +02:00
Peter Keresztes Schmidt
5af6d6af3d
Polygon: Use std::vector to store the vertices
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
8f685b3d66
Box+Poly: Remove direct accessors to {Hi,Lo}{X,Y}
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
e6c159fb70
Vector2: Make coordinate components public
...
The components were already unconditionally/without side-effects writable. Let's make them public so we don't need the setters.
2021-05-16 16:42:58 +02:00
Peter Keresztes Schmidt
60db1c2eaf
Coord: Rename to Vector2
...
The class is not only used to represent coordinates but also lengths in XY.
Vector2 is a more fitting/general name for this purpose.
2021-05-14 20:14:50 +02: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
a91197b47c
reset score_ to zero when we return for failing to meet pixel filters
2021-05-07 14:23:36 -04: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
ad32a94931
ZoneStats: Rename members according to Google style guide
2021-04-25 17:18:07 +02: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
c7f06dda0b
Improve copy constructor to use initializers
2021-04-20 17:18:57 -04:00
Isaac Connor
e0fc265263
spacing
2021-04-19 13:19:23 -04:00
Isaac Connor
03767236d9
Clean up constructor/Setup functions. Add copy constructor. Change Load to return a std::list<Zone>
2021-04-17 12:50:26 -04:00
Peter Keresztes Schmidt
9e77324de4
Replace raw mysql_query calls with the zmDb* functions
...
With this we can make sure we have proper locking of our DB connection at all times.
2021-03-06 00:12:18 +01:00
Isaac Connor
8c2e6589ac
fifo.h got split into zm_fifo and zm_fifo_debug so update the code in zm_zone
2021-03-01 16:49:27 -05:00
Peter Keresztes Schmidt
76e6c468e8
rgb: Convert some constant defines to constexpr
...
Using defines interferes with fmt.
Also rename them according to the Google styleguide.
2021-03-01 00:38:21 +01:00
Isaac Connor
8aeb4ab758
Switch db_mutex to a std::mutex. Use modern locking with it. Use zmDbDo or dbQueue.push where appropriate. code cleanup.
2021-02-25 12:26:26 -05:00
Isaac Connor
124d9bf798
Fix logging when holding db lock
2021-02-19 12:09:02 -05:00
Peter Keresztes Schmidt
dd527f0888
Consolidate __STDC_FORMAT_MACROS and __STDC_CONSTANT_MACROS definition
...
Move the definitions to zm_define.h and include the header at the appropriate locations.
These macros have not been adopted by the C++11 standard.
However glibc 2.17 (CentOS 7) still depends on them to provide the macros which are guarded by these defines.
2021-02-04 19:58:29 +01:00
Peter Keresztes Schmidt
0dbc39ee25
Cleanup and reorganize includes
...
With this commit a unified structure for includes is introduced.
The general rules:
* Only include what you need
* Include wherever possible in the cpp and forward-declare in the header
The includes are sorted in a local to global fashion. This means for the include order:
0. If cpp file: The corresponding h file and an empty line
1. Includes from the project sorted alphabetically
2. System/library includes sorted alphabetically
3. Conditional includes
2021-02-04 18:02:01 +01:00
Peter Keresztes Schmidt
e09fa1bebf
Remove includes of <cinttypes>
...
Instead of including <cinttypes> directly, zm_define.h should be used
to get the typedef'ed types as well.
2021-02-02 21:37:26 +01:00
Isaac Connor
8d52baeee2
Merge branch 'master' into rtsp_server
...
Cleanup Analysis a bit. We can't skip packets just because they are audio. Clean up the state machine transitions a bit to make them a little more readable.
Change logic of PrimeCapture, success MUST return 1. 0 means no error but also no success.
Debugging and braces improvements in local_camera.
2020-12-17 10:16:54 -05:00
Isaac Connor
46bbbb7dff
Merge branch 'fix_zone_instead_of_ignore'
2020-12-15 16:33:58 -05:00
Isaac Connor
a88ccf793b
correct zone points instead of skipping zone
2020-12-15 16:32:19 -05:00
Isaac Connor
b261fbb397
Merge branch 'master' into zma_to_thread
2020-12-07 16:26:26 -05:00
Isaac Connor
ae4e2a1d5e
We were overwriting the privacy/inactive zone with a more general one. Slight memleak
2020-11-19 10:42:17 -05:00
Isaac Connor
de74a15ab1
Move diag_fifo pipes in SOCKS_DIR instead of assigned Storage area. Storage areas could be a fs that cannot handle sockets or fifos like NFS.
2020-11-12 11:53:51 -05:00
Isaac Connor
2eda49333f
Merge branch 'master' into zma_to_thread
2020-10-20 16:20:29 -04:00
Isaac Connor
387f5dd397
Fix double free of image
2020-10-02 12:47:05 -04:00
Isaac Connor
a39a656373
Merge branch 'master' into zma_to_thread
2020-09-29 11:02:40 -04:00
Isaac Connor
795e98a09c
Merge pull request #2916 from connortechnology/zone_optimise
...
Improve code in zm_zone
2020-09-22 17:48:24 -04:00
Peter Keresztes Schmidt
8f980a1168
Convert NULL/0 to nullptr
...
The 0 -> nullptr changes should definitely improve readability.
2020-08-26 22:03:40 +02:00
Andrew Bauer
e5e2c3b347
fix stats off by 1 frame, don't alert on score 0
2020-08-24 10:57:54 -05:00