Isaac Connor
eee6053293
Only startup a new event if recording==ALWAYS
2022-02-28 13:35:11 -05:00
Isaac Connor
980aaa5942
Fix case of recording events when Recording==NONE
2022-02-28 12:10:14 -05:00
Isaac Connor
e31b18a1a6
Use a define to disable y-channel use
2022-02-28 12:02:09 -05:00
Isaac Connor
cf31db0bad
Merge branch 'master' into replace_function_concept
2022-02-27 14:05:34 -05:00
Isaac Connor
133553e630
Revert "Merge pull request #3119 from Carbenium/fmt"
...
This reverts commit 90d930c7c3
, reversing
changes made to 0bcb9d276f
.
2022-02-27 14:05:14 -05:00
Isaac Connor
e33b41745d
Merge branch 'master' into replace_function_concept
2022-02-27 14:04:01 -05:00
Isaac Connor
c5b9ed9451
Revert "Fix zms build"
...
This reverts commit e6b36bb186
.
2022-02-27 13:46:51 -05:00
Isaac Connor
e6b36bb186
Fix zms build
2022-02-27 10:41:42 -05:00
Isaac Connor
cad57df0bb
Merge branch 'master' into fmt
2022-02-26 13:56:20 -05:00
Isaac Connor
fc21fb643e
Release lock before notify
2022-02-20 10:33:13 -05:00
Isaac Connor
02ccf13c7b
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2022-02-20 10:32:43 -05:00
Isaac Connor
b896974a29
Should get lock before testing for connected
2022-02-20 10:32:40 -05:00
Isaac Connor
a40b305065
Merge branch 'master' into replace_function_concept
2022-02-20 09:52:03 -05:00
Ratchanan Srirattanamet
ebe502a747
db: fix dead lock in zmDbQueue::stop()
...
Notifying `mCondition` without taking the lock causes a race condition
in ::process() between checking `mTerminate` and waiting for the
`mCondition`, which causes a dead lock. This commit moves writing to
`mTerminate` and notifying `mCondition` under the lock to eliminate race
condition and dead lock.
This is not theoretical. It has caused zmu to hang at exit on a
Raspberry Pi 4, exhuasting PHP-FPM process pool. The stacks below are
captured when running ZoneMinder 1.36.12-focal1 on Ubuntu 20.04:
(gdb) thread apply all bt
Thread 2 (Thread 0xffff80c1c880 (LWP 259988)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0xaaaae0584e80 <dbQueue+176>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0xaaaae0584e28 <dbQueue+88>, cond=0xaaaae0584e58 <dbQueue+136>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0xaaaae0584e58 <dbQueue+136>, mutex=0xaaaae0584e28 <dbQueue+88>) at pthread_cond_wait.c:638
#3 0x0000ffff8700d670 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/aarch64-linux-gnu/libstdc++.so.6
#4 0x0000aaaae0438f08 in zmDbQueue::process (this=0xaaaae0584dd0 <dbQueue>) at ./src/zm_db.cpp:250
#5 0x0000ffff87013fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#6 0x0000ffff891264fc in start_thread (arg=0xffffe60d84bf) at pthread_create.c:477
#7 0x0000ffff86dd767c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
Thread 1 (Thread 0xffff80c23010 (LWP 259987)):
#0 __pthread_clockjoin_ex (threadid=281472841926784, thread_return=0x0, clockid=0, abstime=<optimized out>, block=<optimized out>) at pthread_join_common.c:145
#1 0x0000ffff87014240 in std:🧵 :join() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#2 0x0000aaaae04314d0 in exit_zmu (exit_code=0) at ./src/zmu.cpp:200
#3 0x0000aaaae042f4c8 in main (argc=<optimized out>, argv=<optimized out>) at ./src/zmu.cpp:797
2022-02-20 09:58:03 +00:00
Isaac Connor
fe69261f10
Include MonitorId as second argument of EventStartCommand and EventEndCOmmand at @baudneo's request.
2022-02-19 15:33:05 -05:00
Isaac Connor
dc8f1bc8ed
Set shared_data->score before state transitions so that linked monitors pick it up. Should help with missed linked events
2022-02-18 17:44:23 -05:00
Isaac Connor
fc541ac57d
fix potential double lock of jpeg mutex
2022-02-18 17:11:18 -05:00
Isaac Connor
28f3cb18e4
Make std function warning into a debug. Warning will happen if they are actually used
2022-02-18 15:59:00 -05:00
Isaac Connor
1983801004
Merge branch 'master' into replace_function_concept
2022-02-16 18:49:01 -05:00
Isaac Connor
b9e6cf8038
Spacing, remove dead code, add comments. When implementing CLOSE_ALARM mode, check Alarm Frames against alarm_frame_count instead of 0.
2022-02-16 17:27:17 -05:00
Isaac Connor
cd2c977ed8
Merge branch 'master' into replace_function_concept
2022-02-16 14:25:38 -05:00
Isaac Connor
c9de883a7c
Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed.
2022-02-16 14:18:37 -05:00
Isaac Connor
67563737c3
Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed.
2022-02-16 14:16:46 -05:00
Isaac Connor
243c780a6a
cleanup and add fallback to read/write if no sendfile support.
2022-02-16 14:16:25 -05:00
Isaac Connor
2336926d90
Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. Use new reworked zm_sendfile and handle if not all bytes are sent. Fixes #3437 .
2022-02-16 14:16:01 -05:00
Isaac Connor
2d3f99eabb
rework zm_sendfile to try again if not all bytes were sent. According to the docs, this is entirely possible.
2022-02-16 09:59:48 -05:00
Isaac Connor
33f23cbd84
Sync up n_frames, frame_count, curr_frame_id on int instead of a mix of long int, int and unsigned long int
2022-02-15 18:52:46 -05:00
Isaac Connor
2bc0ec269a
Merge branch 'master' into replace_function_concept
2022-02-15 17:02:03 -05:00
Isaac Connor
4f8aba0801
Merge branch 'master' of github.com:ZoneMinder/zoneminder
2022-02-15 10:41:51 -05:00
Isaac Connor
956579d557
handle snap->in_frame being null.
2022-02-15 10:41:42 -05:00
Isaac Connor
5fd5c7fdd1
Maybe fix build on freebsd by including unistd.h
2022-02-15 10:04:37 -05:00
Isaac Connor
c8a2b6d679
Merge branch 'master' into replace_function_concept
2022-02-14 12:03:25 -05:00
Isaac Connor
91b536b868
Change the test for slow functions to mod4. The unrolled and SSE function work on 4 pixels at a time or 16 or 12 bytes depending on colours.This will improve cpu use on resolutions like 1280x800
2022-02-14 09:43:48 -05:00
Isaac Connor
485cc26065
Merge branch 'master' into replace_function_concept
2022-02-12 22:17:47 -05:00
Isaac Connor
e3631099f6
Rename v_image to y_image cuz that's what it is
2022-02-12 22:14:51 -05:00
Isaac Connor
552974c5b7
Pass full packet to AddFrame so that we can also write other contents out
2022-02-12 22:14:21 -05:00
Isaac Connor
6e7e6d9e8e
small code cleanup, add Warnings when using slow blend functions.
2022-02-11 18:06:43 -05:00
Isaac Connor
684078e72f
re-enable y-channel motion detection
2022-02-08 12:08:41 -05:00
Isaac Connor
f66a463574
Merge branch 'master' into replace_function_concept
2022-02-08 12:07:30 -05:00
Isaac Connor
2768975f96
Only notify one. Anyone waiting is waiting on a lock and only 1 process can get that lock, so only one should try.
2022-02-08 10:12:29 -05:00
Isaac Connor
8c13aa7d3a
Cleanup LockedPacket, use RAII
2022-02-08 10:10:00 -05:00
Isaac Connor
8e689340ce
Don't need to check for end of queue as we already did that when adding packet to the queue
2022-02-08 10:06:32 -05:00
Isaac Connor
fe01af6966
Don't need to test for end() because we added our packet to the queue and still have the lock
2022-02-08 09:57:56 -05:00
Isaac Connor
1982c21e1f
Merge pull request #3423 from jp-bennett/master
...
Starts moving elements from zm_monitor.cpp into nested classes and dedicated files.
2022-02-03 17:53:31 -05:00
Jonathan Bennett
dde3884084
Moves Janus and Amcrest into their own nested classes
2022-02-03 16:31:07 -06:00
Isaac Connor
524662e6c7
Merge branch 'master' into replace_function_concept
2022-02-03 12:41:46 -05:00
Isaac Connor
da4c880233
0 out another used of y-image
2022-02-03 12:16:01 -05:00
Isaac Connor
02a2c783e4
Disable alleged y-channel image motion detection. Doesn't work.
2022-02-03 11:57:27 -05:00
Isaac Connor
67ac0fdffd
Disable alleged y-channel image motion detection. Doesn't work.
2022-02-03 11:57:00 -05:00
Isaac Connor
838704e58e
Add more stop_ tests so that when we are told to terminate, we actually do so.
2022-02-03 11:40:17 -05:00