Commit Graph

18068 Commits

Author SHA1 Message Date
Isaac Connor b58ecca040 Allow RTSPServer to be unselected 2021-02-17 12:07:55 -05:00
Isaac Connor 8e4922665f Add icons to installed files 2021-02-17 11:56:43 -05:00
Isaac Connor 217d632f1a Remove epadding, last_frame_score replaced it 2021-02-17 11:54:30 -05:00
Isaac Connor 6007914344 we don't build libzoneminder-perl at this time, so don't try to instal it's man pages 2021-02-17 11:49:59 -05:00
Isaac Connor a60d683f73 Don't build man pages. They will be built by dh 2021-02-17 11:07:33 -05:00
Isaac Connor f061c25183 Make failure to set video standard non-fatal. 2021-02-17 11:02:56 -05:00
Isaac Connor 66efc3ba59 .tmpfile is deprecated. Use .tmpfiles 2021-02-17 10:29:21 -05:00
Isaac Connor 519e39b4f4 Reloading has to stop other threads while we are re-initing the logs. So move it down 2021-02-17 10:07:36 -05:00
Isaac Connor 233b666595 maybe fix docs building 2021-02-16 17:19:13 -05:00
Isaac Connor e7f3bc357d More syncup with official debian build 2021-02-16 17:03:17 -05:00
Isaac Connor e601c08ed0 last_read_index and last_write_index are not int32_ts. Add last_motion_score which should fix our failure to detect alarms in zmalarm etc 2021-02-16 16:56:10 -05:00
Isaac Connor 36c7d17111 Remove dh-systemd update standards-version and homepage 2021-02-16 16:32:19 -05:00
Isaac Connor b0f9b210a8 Update for debhelper > 12 2021-02-16 16:22:29 -05:00
Isaac Connor aa94795b96 When auth is not turned on, show an error instead of login fields. 2021-02-16 16:09:23 -05:00
Isaac Connor 59cdf971fa convert last_read_index and last_write_index to int32_t so that we can have -1 as a value in other functions. 2021-02-16 14:43:52 -05:00
Isaac Connor 317274248b Allow mid= and dupId= in monitor view to allow mid reuse. Alphabetically sort Monitors in LinkedMonitors by name 2021-02-16 14:16:59 -05:00
Isaac Connor f08979aae9 Bump compat to 13 2021-02-16 14:13:42 -05:00
Isaac Connor 41dc0212e0 Move include of algorithm up to top to hopefully fix issues with min and max being defined elsewhere and so compile fails 2021-02-16 10:39:04 -05:00
Isaac Connor a82247b105 Some cleanups in disconnect 2021-02-16 10:39:04 -05:00
Isaac Connor a56d78bb04 Don't sleep if Analyse returns false and we are terminating 2021-02-16 10:39:04 -05:00
Isaac Connor 71183a6002 fix case of vidWidth. Fixes #3162 2021-02-14 16:28:08 -05:00
Isaac Connor 9c3bf0af1d Always default to mp4 for now 2021-02-14 09:49:30 -05:00
Isaac Connor 99264e4072 Fix swscale failing on resolution change. Fixes #3161 2021-02-12 11:55:25 -05:00
Isaac Connor 5a910c4a4b use lock_guard instead of unique_lock 2021-02-12 10:45:32 -05:00
Isaac Connor 2cb6d21faf get rid of while loop in ::Analyze. Switch login on if Ready() to bail early so we don't indent so much. 2021-02-12 10:38:21 -05:00
Isaac Connor 4915e940b7 clean out old mutex. Add event_mutex to protect around event creation/deletion 2021-02-12 10:14:35 -05:00
Isaac Connor 5663b05260
Merge pull request #3159 from Carbenium/camera-raii
Let Monitor own its Camera
2021-02-11 15:22:56 -05:00
Peter Keresztes Schmidt 3d759e1fe0 Monitor: Some reformatting of previously touched lines 2021-02-11 20:02:08 +01:00
Peter Keresztes Schmidt c0151caa64 Monitor: Signal by making the camera a unique_ptr the ownership relation
In addition we get RAII and thus automatic destruction of the camera when the monitor is destructed.

Monitor API change: getCamera -> LoadCamera
If additional properties of the camera are needed externally they should be exposed directly via Monitor.
2021-02-11 19:22:22 +01:00
Peter Keresztes Schmidt 35514649c9 Monitor: Make audio and video streams directly accessible
Also remove Camera::getId() which returend the monitor ID. Since a camera is owned by an monitor, there is no need for this. Also it causes a circular include.
2021-02-11 19:22:22 +01:00
Peter Keresztes Schmidt ede811df50 zmc: Simplify Monitor's shutdown procedure
disconnect() is already called in the destructor. Since `monitors` goes out of scope all instances will get automatically destructed. There is no need to manually call disconnect().
2021-02-11 19:22:22 +01:00
Peter Keresztes Schmidt 91aeb325dd Monitor: Close monitor on destruction
This ensures the proper shutdown sequence when not calling Close() externally (e.g when reconnecting).
2021-02-11 19:22:22 +01:00
Peter Keresztes Schmidt 0a665c0710 Monitor: Close the associated camera when closing the monitor
The camera is owned by the monitor. There is no reason to keep the camera open, when the owner is closed.
2021-02-11 19:22:22 +01:00
Isaac Connor 79d4f65164 Merge branch 'master' of github.com:zoneminder/ZoneMinder 2021-02-11 11:50:09 -05:00
Isaac Connor 231c9303fd Handle null vidWidth 2021-02-11 11:50:05 -05:00
Isaac Connor 2742485a61
Merge pull request #3157 from Carbenium/zmc-deadlock
Fix a possible deadlock on zmc shutdown and reconnect
2021-02-11 11:28:36 -05:00
Isaac Connor af354eb718
Merge pull request #3158 from Carbenium/tsan
Build: Add ThreadSanitizer (TSan) support
2021-02-11 10:19:31 -05:00
Peter Keresztes Schmidt 42484e6434 zmc: Fix a deadlock on shutdown/reconnection
First stop the analysis threads, then close the monitors and thus drain the packet queues before trying to join the analysis threads since they might hang while waiting for the next packet to arrive.
2021-02-11 15:48:22 +01:00
Peter Keresztes Schmidt 4c07bf5aae Build: Add ThreadSanitizer (TSan) support
Enable it by setting -DTSAN=1
This setting is mutually exclusive with -DASAN
2021-02-11 00:38:31 +01:00
Isaac Connor 33cabd3621
Merge pull request #3156 from dodexahedron/3155-log-copies-and-moves
Added logging for copies/moves to zmfilter.pl
2021-02-10 17:35:06 -05:00
Brandon Thetford a7eab75cf9 Added logging for copies/moves to zmfilter.pl 2021-02-10 15:31:10 -07:00
Isaac Connor cca4d18d26 need <algorithm> for std::max 2021-02-10 17:29:51 -05:00
Isaac Connor 51f2d120e4 Free raw image after motion detection when doing passthrough and not saving jpegs 2021-02-10 17:07:58 -05:00
Isaac Connor cc09f68426 We use our own jquery. Debian can do it's own thing 2021-02-10 17:07:18 -05:00
Isaac Connor 393e8b582a Move the logic of whether to queue a packet into packetqueue::queuePacket 2021-02-10 14:11:00 -05:00
Isaac Connor 0a1bd3537d ready_count is now max(warmup_count,pre_event_count). This should ensure that we have enough packets in the packet queue when creating an event. 2021-02-10 13:54:20 -05:00
Isaac Connor 991e8dc860 Include mysqld_error.h so we can test for specific errors 2021-02-10 13:54:20 -05:00
Isaac Connor 64cfac9255 Only loop on SQL insert for wait timeout error, not others 2021-02-10 13:54:20 -05:00
Isaac Connor a6827674f9
Merge pull request #3154 from Carbenium/no-queue
Monitor: Don't push packets into the packet queue when in Monitor mode
2021-02-10 10:41:56 -05:00
Peter Keresztes Schmidt 2f5dff7244 Monitor: Don't push packets into the packet queue when in Monitor mode
There is no consumer for the packets in this mode, so don't queue them up. This saves quite a bit of RAM for mode of operation.
2021-02-10 16:13:47 +01:00