Commit Graph

20033 Commits

Author SHA1 Message Date
Isaac Connor 90d930c7c3
Merge pull request #3119 from Carbenium/fmt
Add fmt library for type-safe string formatting
2022-02-27 10:37:41 -05:00
Isaac Connor 0bcb9d276f code style. 2022-02-26 18:25:51 -05:00
Isaac Connor 914581bc57 add libavdevice-dev and libgsoap-dev to build 2022-02-26 18:25:51 -05:00
Isaac Connor 2bd85089f4 Put integers in quotes as well. Proper JSON has all values in quotes. This is important because integers like 0123 are invalid 2022-02-26 18:25:51 -05:00
Isaac Connor cad57df0bb
Merge branch 'master' into fmt 2022-02-26 13:56:20 -05:00
Isaac Connor 6fc5803e16 Add another clearInterval to prevent looping during window.location 2022-02-25 15:54:56 -05:00
Isaac Connor 9b0714d20d Fix use of value instead of val in filter term 2022-02-25 14:14:02 -05:00
Isaac Connor 813fd36b0a clearInterval when location.replacing so that timer stops. Prevents infinite loop 2022-02-25 14:13:18 -05:00
Isaac Connor 372e493b9c
Merge pull request #3442 from BHMSD-bdailey/lazy-load-images
Lazy load images
2022-02-22 08:57:49 -05:00
Ben Dailey b2428b5522 Merge branch 'master' into lazy-load-images 2022-02-22 08:47:26 -05:00
Isaac Connor 831dca814f Include EndDateTimeShort in event stats 2022-02-22 08:31:41 -05:00
Isaac Connor dfb6a96b42 Handle empty endtime more gracefully. If there is a next event just jump to it. 2022-02-22 08:31:41 -05:00
Isaac Connor 959b08f46a Include EndDateTimeShort in event ajax response 2022-02-22 08:31:41 -05:00
Isaac Connor 347d3c08b6 Spacing, remove dead code, add comments. When implementing CLOSE_ALARM mode, check Alarm Frames against alarm_frame_count instead of 0. 2022-02-22 08:31:41 -05:00
Isaac Connor 968acc2d43 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. 2022-02-22 08:31:41 -05:00
Isaac Connor 26d89292d7 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. 2022-02-22 08:31:41 -05:00
Isaac Connor e9b3269278 cleanup and add fallback to read/write if no sendfile support. 2022-02-22 08:31:41 -05:00
Isaac Connor 00b4ed9c53 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-22 08:31:41 -05:00
Isaac Connor d7c8e32ec9 Remove non-translations 2022-02-22 08:31:41 -05:00
Isaac Connor 0da942a14b rework zm_sendfile to try again if not all bytes were sent. According to the docs, this is entirely possible. 2022-02-22 08:31:41 -05:00
Isaac Connor 88a68af775 DefaultCodec is for event view, not live 2022-02-22 08:31:41 -05:00
Isaac Connor cf7b3b9f9f DefaultCodec is for event view, not live 2022-02-22 08:31:41 -05:00
Andrew Bauer bcd590aede use rockylinux:8 container for ci workflow 2022-02-22 08:31:41 -05:00
Andrew Bauer b5e2cb4220 include arp-scan polkit files in rpm 2022-02-22 08:31:41 -05:00
Andrew Bauer 2c7e90d61d bump rpm specfile rtsp commit
anytime the rtsp commit is bumped in packpack, it must also be bumped in the rpm specfile
2022-02-22 08:31:41 -05:00
Isaac Connor 3a2e5a580b Debug the contents of REQUEST on every hit. 2022-02-22 08:31:41 -05:00
Isaac Connor 5aef8408a4 serialize form instead of just passing filter id because the modal can now handle unsaved filters 2022-02-22 08:31:41 -05:00
Isaac Connor b32164e992 Add handling of NOT IN and =\[\] and \!\[\] 2022-02-22 08:31:41 -05:00
Isaac Connor e523777ece 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-22 08:31:41 -05:00
Ben Dailey e4f5f59e8d 3 more img tags 2022-02-22 08:31:41 -05:00
Ben Dailey ce267c7e3c Most programmatic images are lazy. 2022-02-22 08:31:02 -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 f4412c81d1
Merge pull request #3441 from peat-psuwit/for-upstream/dbqueue-stop-mutex
db: fix dead lock in zmDbQueue::stop()
2022-02-20 10:32:19 -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 1a54a96c04 Improve title on alarm buttons when we don't have permission. Move onclick from data-on-click to setup in initPage only if permitted 2022-02-18 17:11:18 -05:00
Isaac Connor 002b2c39aa fix button assignments. Don't abort ajax, as it might be important 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 adf8413333 Include EndDateTimeShort in event stats 2022-02-17 13:31:25 -05:00
Isaac Connor 8dedac1a21 Handle empty endtime more gracefully. If there is a next event just jump to it. 2022-02-17 13:30:50 -05:00
Isaac Connor 909c0e903f Include EndDateTimeShort in event ajax response 2022-02-17 13:30: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 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