Commit Graph

3933 Commits

Author SHA1 Message Date
Isaac Connor 1316c6ea86 Update codec opening to properly handle passthrough 2021-01-11 13:46:50 -05:00
Isaac Connor 894ad11816 change outputFd which is unused to stream_id which is the stream_id to concern ourselves with when getting packets from the packetqueue. Add more tests for zm_terminate. Add testing for AV_CODEC_ID instead of v4l2 PIX_FMT to determine stream type 2021-01-11 13:46:50 -05:00
Isaac Connor 514e0d2e93 remove analysis_it and correctly manage external iterators. Fix testing for ability to remove packets from packetqueue. Fix some cases where the order of testing zm_terminate and packet locking is important 2021-01-11 13:46:50 -05:00
Isaac Connor 9187b08b7a add missing and mix order of Packet initializers 2021-01-11 13:46:50 -05:00
Isaac Connor b3ca0ac2d9 add missing and mix order of Packet initializers 2021-01-11 13:46:50 -05:00
Isaac Connor 65fc5bf478 move code from Load for purpose==ANALYSIS because it will never run. Analysis is a thread now and must assume that PrimeCapture has already succeeded. 2021-01-11 13:46:50 -05:00
Isaac Connor 824cbb7879 spacing and NULL=>nullptr 2021-01-11 13:46:50 -05:00
Isaac Connor f842e9e2ed NULL=>nullptr 2021-01-11 13:46:50 -05:00
Isaac Connor 02f65cec4d Don't need to get_ref_image anymore. It will block waiting for a capture packet and the ref image will be set by capture thread 2021-01-11 13:46:50 -05:00
Isaac Connor 432bb338e8 Rename H264PASSTHROUGH to just PASSTHROUGH. Add an analysis_it to the Monitor object as it will no longer exist in the packetqueue 2021-01-11 13:46:50 -05:00
Isaac Connor da7a50c92d Rename H264PASSTHROUGH to just PASSTHROUGH. Start with last_signal set to true so that we don't have a signal change event on startup. Use new generic packetqueue functions 2021-01-11 13:46:50 -05:00
Isaac Connor 22ae83a0d6 Rename H264PASSTHROUGH to just PASSTHROUGH 2021-01-11 13:46:50 -05:00
Isaac Connor 705959d1ec Set codec_type in zm_packet 2021-01-11 13:46:50 -05:00
Isaac Connor 510cbd8b19 Add AVPacket parsing queue and other files for rtsp_server 2021-01-11 13:46:50 -05:00
Isaac Connor 3f5bc97e6e continue roughing in rtsp server. Fix not adding session to rtspServer. 2021-01-11 13:46:50 -05:00
Isaac Connor 92ac012324 Add rtsp_server files to CMakeLists.txt 2021-01-11 13:46:50 -05:00
Isaac Connor 60fa3f9ec1 cleanup. Add h264_vaapi codec support 2021-01-11 13:46:50 -05:00
Isaac Connor 0cc123a460 small cleanup in logging 2021-01-11 13:46:50 -05:00
Isaac Connor fe7007cc2b Remove old LOG line 2021-01-11 13:45:37 -05:00
Isaac Connor 62ffc20c98 dumpPacket when addPacket 2021-01-11 13:45:21 -05:00
Isaac Connor 2fe325efe7 further disable rtsp_server 2021-01-11 13:38:22 -05:00
Isaac Connor 1b1438bf7a Add detecting target pixfmt and if rgb0 is supported, use it to do the transfer direct to the Image. 2021-01-11 13:36:51 -05:00
Isaac Connor e1f6f5984d Handle signal loss, improve debugging 2021-01-11 13:35:48 -05:00
Isaac Connor 70090f7edc Add AVBufferRef setup when Populating AVFrame from Image. This allows hwtranfer to work because it relies on AVBuffer AVFrame. Please note that we don't want AVBuffer to free the buffer so we pass an empty function to it. 2021-01-11 13:35:23 -05:00
Isaac Connor f625734c82 Set imagePixFormat everywhere. Add PopulateFrame which creates and AVFrame pointing to the image's buffer. Will do this with proper refcounting eventually 2021-01-11 11:57:34 -05:00
Isaac Connor 29255d1528 Fix missing comma 2021-01-11 11:15:22 -05:00
Isaac Connor ab9583cbdf clean up code giving warning when no starttime is given 2021-01-11 10:06:54 -05:00
Isaac Connor dd4685ecf2 include kleyframe status in zm_dump_video_frame 2021-01-10 19:13:02 -05:00
Isaac Connor 4b90eb992d remove unused var temp 2021-01-08 16:45:16 -05:00
Isaac Connor 9e353a8837 break long line 2021-01-08 16:45:03 -05:00
Isaac Connor c0a2286dee Code style 2021-01-08 15:49:21 -05:00
Isaac Connor a6aefcf477 get camera if we havn't already. Don't delete the timestamp in shared zmpackets because it is just a pointer to shmem. Set it to null instead so that ~ZMpacket doesn't try to free it 2021-01-08 15:49:09 -05:00
Isaac Connor 736b14327e allocate our own CodecContext for decoding. Reusing the existing one doesn't work for hwaccel. Add hwaccel flags to let it use Constrained Baseline for Baseline profile streams. Try without specified device if hwdevice_ctx_create fails. 2021-01-08 15:48:01 -05:00
Isaac Connor 81d6f8c1ee disable rtsp_server 2021-01-07 15:13:02 -05:00
Isaac Connor c70e2ccfc2 Must notify before waiting in destructor. Fix leaks 2021-01-07 15:12:44 -05:00
Isaac Connor 514201c7b2 use zm_av_send_packet_receive_frame and fixup hwaccel support 2021-01-07 15:12:27 -05:00
Isaac Connor f729034e9f improve hwaccel support 2021-01-07 15:11:46 -05:00
Isaac Connor 655e54db17 remove unused directbuffer 2021-01-07 09:50:45 -05:00
Isaac Connor 595bb2f565 Open/CLose RTSP with analysis thread when opening and closing monitor. We have to have successfully PrimeCapture before adding streams to RTSP Server and need to shut it down when closing the monitor because the packetqueue goes away 2021-01-07 09:47:53 -05:00
Isaac Connor c6d15f193a Update codec opening to properly handle passthrough 2021-01-07 09:46:35 -05:00
Isaac Connor 5cca440bee change outputFd which is unused to stream_id which is the stream_id to concern ourselves with when getting packets from the packetqueue. Add more tests for zm_terminate. Add testing for AV_CODEC_ID instead of v4l2 PIX_FMT to determine stream type 2021-01-07 09:46:06 -05:00
Isaac Connor abc402878b remove analysis_it and correctly manage external iterators. Fix testing for ability to remove packets from packetqueue. Fix some cases where the order of testing zm_terminate and packet locking is important 2021-01-07 09:43:53 -05:00
Isaac Connor 3b8266a6f0 add missing and mix order of Packet initializers 2021-01-07 09:41:08 -05:00
Isaac Connor 0d450f4f85 add missing and mix order of Packet initializers 2021-01-07 09:41:02 -05:00
Isaac Connor ff3bc981de move code from Load for purpose==ANALYSIS because it will never run. Analysis is a thread now and must assume that PrimeCapture has already succeeded. 2021-01-07 09:40:24 -05:00
Isaac Connor 7afaf00202 spacing and NULL=>nullptr 2021-01-07 09:36:54 -05:00
Isaac Connor e30f0245ef NULL=>nullptr 2021-01-07 09:36:33 -05:00
Isaac Connor c9641063ca Don't need to get_ref_image anymore. It will block waiting for a capture packet and the ref image will be set by capture thread 2021-01-07 09:36:18 -05:00
Isaac Connor 315dccdaec Rename H264PASSTHROUGH to just PASSTHROUGH. Add an analysis_it to the Monitor object as it will no longer exist in the packetqueue 2021-01-06 11:32:09 -05:00
Isaac Connor e93a895f28 Rename H264PASSTHROUGH to just PASSTHROUGH. Start with last_signal set to true so that we don't have a signal change event on startup. Use new generic packetqueue functions 2021-01-06 11:31:31 -05:00
Isaac Connor d6c217c1ec Rename H264PASSTHROUGH to just PASSTHROUGH 2021-01-06 11:30:42 -05:00
Isaac Connor 08a28e6960 Set codec_type in zm_packet 2021-01-06 11:30:03 -05:00
Isaac Connor 7c049afc61 Add AVPacket parsing queue and other files for rtsp_server 2021-01-06 11:26:08 -05:00
Isaac Connor 770cf5703d continue roughing in rtsp server. Fix not adding session to rtspServer. 2021-01-06 11:24:52 -05:00
Isaac Connor d6b59c0abf Add rtsp_server files to CMakeLists.txt 2021-01-06 10:48:52 -05:00
Isaac Connor b6c11538c2 cleanup. Add h264_vaapi codec support 2020-12-31 09:15:49 -05:00
Isaac Connor 48dcb23af0 small cleanup in logging 2020-12-31 09:14:03 -05:00
Isaac Connor 6d036629d3 clean up cruft. NULL=>nullptr. Fix some codec_context allocation. Try to solve h264_encoder_close crash. 2020-12-30 21:25:12 -05:00
Isaac Connor 9d532df9c7 need to include zm_video for Encoder Parameter passing 2020-12-30 21:24:09 -05:00
Isaac Connor f61210c91f remove old code using image_buffer in zm_packets 2020-12-30 21:23:29 -05:00
Isaac Connor 6c696f4025 Return avcodec errors codes instead of 0/1 2020-12-30 21:22:55 -05:00
Isaac Connor 64deff7486 include std::string don't include zm_video.h. Remove old videoWriter references 2020-12-30 21:22:33 -05:00
Isaac Connor 00aae0b68f Use proper c++ initializers 2020-12-30 21:21:59 -05:00
Isaac Connor 019f02e9de remove old sigblocking code 2020-12-30 21:21:41 -05:00
Isaac Connor 284b9f963f Merge branch 'master' into zma_to_thread 2020-12-29 12:18:26 -05:00
Isaac Connor dc487f35a9 set packet codec_type 2020-12-27 12:36:33 -05:00
Isaac Connor 9be7547c8b Look at stream index instead of image_index when finding first keyframe in packetqueue 2020-12-27 12:32:46 -05:00
Isaac Connor e58c06e60f Don't need keyframes when saving jpegs. 2020-12-27 12:32:06 -05:00
Isaac Connor af94473eb1 remove debug lines about nalType=1 2020-12-27 12:25:23 -05:00
Isaac Connor 085d83b250 frames are allocated in zm_packet now, so remove them 2020-12-27 12:24:34 -05:00
Isaac Connor c8d2eb9c0f Must stop threads before Closing monitor 2020-12-27 12:04:35 -05:00
Isaac Connor a440ab3ef0 need to copy parameters to codecpar 2020-12-27 12:04:17 -05:00
Isaac Connor 16662f79ce spacing and code stylez 2020-12-27 12:03:44 -05:00
Isaac Connor 57542b01d5 Remove all the scaling and conversion stuff. Use packet->decode. Set keyframe flag. return codes of functions are now -1 for failure, 0 for failure but no error and 1 for success. 2020-12-27 12:02:02 -05:00
Isaac Connor 7c9db96acc spacing and NULL=>nullptr 2020-12-27 12:01:01 -05:00
Isaac Connor 3f2d088f8c Delete image if image_index == -1 2020-12-27 12:00:45 -05:00
Isaac Connor 197f9bdd9e indenting fix. Don't update reference image if not doing motion detection. Decouple the image buffer from the packetqueue. So always allocate a new image. Then copy decoded image to image buffer if required. 2020-12-27 12:00:18 -05:00
Isaac Connor 63687c8e44 code style 2020-12-27 11:57:50 -05:00
Isaac Connor 61bffdb249 fix compiler warning 2020-12-27 11:57:23 -05:00
Isaac Connor 5624a0bef4 NULL->nullptr 2020-12-27 11:56:59 -05:00
Isaac Connor d6bbc9bbbb Set codec_type in ffmpeg_camera instead of in monitor 2020-12-27 11:56:44 -05:00
Isaac Connor 0521d05295 Can only output jpegs if we are doing decoding. 2020-12-27 11:55:53 -05:00
Isaac Connor 9b916a15a2 Only get ref image if we are doing motion detection. 2020-12-27 11:55:14 -05:00
Isaac Connor ddf66bc9b5
Merge pull request #3100 from vertigeaux/share_frame_scores
save frame scores to SharedData for use with linked monitors
2020-12-24 11:08:25 -05:00
Isaac Connor 48d9b4d5a5 Remove unused variables 2020-12-23 18:50:52 -05:00
Isaac Connor f934a6bbaf spacing and change last_fps_time and last_analysis_time to doubles 2020-12-23 18:50:38 -05:00
Isaac Connor 1ffc233593 Move some initialisation into MOnitor() initialisation. Update UpdateAnalysisFPS to use more doubles instead of integers to get better numbers. Move capture FPS updating to UpdateCaptureFPS and use doubles there too. remove some dead code and add some debugging 2020-12-23 18:50:07 -05:00
Isaac Connor 3893e97e94 Quieten compiler warnings 2020-12-23 18:18:30 -05:00
Isaac Connor ee8f940acf Add some debug 2020-12-23 18:18:16 -05:00
Isaac Connor fb2793d337 use nullptr instead of 0 when init'ing event 2020-12-23 09:11:33 -05:00
Isaac Connor a1917d83d0 Merge branch 'master' into zma_to_thread 2020-12-22 19:52:09 -05:00
Vertigeaux 1416cbb03c save frame scores to SharedData for use with linked monitors 2020-12-22 17:44:53 -06:00
Isaac Connor d6486d1a7e use nullptr instead of 0 when init'ing event 2020-12-22 15:44:07 -05:00
Isaac Connor 400e0de609 When updating Monitor_Status, reset FPS on Prime 2020-12-22 10:22:52 -05:00
Isaac Connor 4bea286cfe Use new get_event_start_packet_it function to start the new event with the right packet. 2020-12-22 10:22:28 -05:00
Isaac Connor 91057b9546 Clean up video_packet_count stuff. use packet_counts instead. Use more efficient logic for managing the # of video packets on the queue. Rewrite clearQueue to not use reverse iterators. Implement get_starting_packet to return an iterator to the packet that SHOULD start an event. So it takes into account pre_event_count and keyframe rules. 2020-12-22 10:20:44 -05:00
Isaac Connor d89cbebbdf AddPacket should just take a packet. score and alarm_image are members of the packet 2020-12-22 10:18:15 -05:00
Isaac Connor bc03afa166 Merge branch 'rtsp_server' into zma_to_thread 2020-12-17 10:21:51 -05: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 08d82fb86a use nullptr instead of 0 when init'ing event 2020-12-15 18:25:17 -05:00
Isaac Connor 6e2cfa6ca9 Add R and W short form options 2020-12-15 16:57:27 -05:00
Isaac Connor b306f1b2e8 Add R and W short form options 2020-12-15 16:55:28 -05:00
Isaac Connor 89eacbc8a8 NODECT needs an analysis thread to check for triggers and linked monitors. Turn off RTSP for now 2020-12-15 16:55:12 -05:00
Isaac Connor fbbfb20c41 Move orientation setting down. output_stream hasn't been allocated yet so that would crash. 2020-12-15 16:54:35 -05:00
Isaac Connor b7cc5dde54 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-12-15 16:50:09 -05:00
Isaac Connor 46bbbb7dff Merge branch 'fix_zone_instead_of_ignore' 2020-12-15 16:33:58 -05:00
Isaac Connor e9d3449929 Allow altering polygon coordinates 2020-12-15 16:32:41 -05:00
Isaac Connor a88ccf793b correct zone points instead of skipping zone 2020-12-15 16:32:19 -05:00
Isaac Connor 5dbe8d35ad Debug the start of rtsp server thread run 2020-12-15 16:01:34 -05:00
Isaac Connor a502a86b00 Instead of pointing analsysis_it to begin, point it to the end, which is the newly pushed packet. Add back queue clearing 2020-12-15 16:01:18 -05:00
Isaac Connor da18305729 Remove some dead code and debugging 2020-12-15 15:59:46 -05:00
Isaac Connor 39212d8ca0 Remove or increase debug level 2020-12-15 15:59:22 -05:00
Isaac Connor 8a2d4c7512 Debug the start of thread run in analysisthread. Sleep for appropriate amount of time. 2020-12-15 15:57:40 -05:00
Isaac Connor aaea6c6ead Store endtime for each packet 2020-12-15 15:57:01 -05:00
Isaac Connor 0702b64cc4 Merge branch 'master' into zma_to_thread 2020-12-15 10:51:40 -05:00
Isaac Connor 99e7ae3505 Merge branch 'master' into rtsp_server 2020-12-15 10:14:19 -05:00
Isaac Connor f544c18541 add debug testing 2020-12-12 18:53:12 -05:00
Isaac Connor 97b0ea2b73 Add missing columns to sql to load monitors. Add code to do DecodeEnabled. Handle audio packets 2020-12-12 18:52:57 -05:00
Isaac Connor f77292e6cc Move the decoding_enabled logic to constructor to save a few cycles 2020-12-10 16:23:08 -05:00
Isaac Connor 7b1ca0e66d Use the new DecodingEnabled function 2020-12-10 14:05:57 -05:00
Isaac Connor 7f72d5399f add decoding_enabled and DecodingEnabled function 2020-12-10 14:05:46 -05:00
Isaac Connor c65e63798d Don't do decode when in RECORD OR NODECT and passthrough and no jpegs 2020-12-10 13:47:30 -05:00
Isaac Connor c9bd09ae7b report both capture_fps and analysis_fps 2020-12-09 15:03:18 -05:00
Isaac Connor 9d43b64d4a Add debug and rtsp_server 2020-12-09 15:03:00 -05:00
Isaac Connor 03903d2dad spacing 2020-12-09 15:01:35 -05:00
Isaac Connor f54b8fff44 use mutex and condition_variable to manage signalling. Lots of debugging and fixes 2020-12-09 15:01:24 -05:00
Isaac Connor 02dd1d4cc5 Use recursive_mutex for mutex because we need to hold the lock twice 2020-12-09 15:00:57 -05:00
Isaac Connor 50e1e4391a Include capture_fps and analysis_fps in status 2020-12-09 15:00:29 -05:00
Isaac Connor 6bf5d1b5a1 Fixes to analysis_fps vs analysis_fps_limit. Fixes to logic in analysis. Make capture_fps and analysis_fps be part of shared mem. 2020-12-09 15:00:11 -05:00
Isaac Connor 282c020d86 spacing code style 2020-12-09 12:21:41 -05:00
Isaac Connor 697f9a50fe Terminate thread also when zm_terminate is true 2020-12-09 12:21:31 -05:00
Isaac Connor a3ff81b279 Add zm_rtsp_server_thread.cpp to CMakeLists.txt 2020-12-09 12:20:01 -05:00
Isaac Connor 054e1b583d Rough in code for the RTSP Server thread 2020-12-09 12:19:35 -05:00
Isaac Connor b261fbb397 Merge branch 'master' into zma_to_thread 2020-12-07 16:26:26 -05:00
Isaac Connor aaf4b37439 spacing, don't need to set packet.size=0 2020-12-07 15:53:09 -05:00
Isaac Connor 36b5702c50 Increase LinkedMonitor debugging. Fix LinkedMonitors. Fixes #3091 2020-12-05 19:36:44 -05:00
Isaac Connor 4d33667a85 Merge branch 'release-1.34' 2020-12-05 16:51:42 -05:00
hax0kartik 8012438573 Fix font rendering issue 2020-12-04 05:22:54 +05:30
Isaac Connor b2e5df1854 Need to -1 to size parameter when calling SetFontSize 2020-12-03 18:31:41 -05:00
Isaac Connor 1bbcf4ea31 spacing and make assignments a little more readable/efficient maybe 2020-12-03 16:43:27 -05:00
Isaac Connor 330327ded0 Improve code readability. Use a define for header size 2020-12-03 16:21:18 -05:00
Isaac Connor cfd4c17953 Include invalid font path in the error message 2020-12-03 13:35:12 -05:00
Isaac Connor c8aac87f74 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-12-03 10:26:27 -05:00
Bluemax d8993931da Improve group permissions (mode 660)
Make /dev/shm files 660.
2020-12-02 21:27:00 +01:00
hax0kartik 59d5860560 Merge branch 'Font' of https://github.com/hax0kartik/zoneminder into Font 2020-12-02 09:45:16 +05:30
hax0kartik 1ec13f3d06 Free font->data only when font itself is valid 2020-12-02 09:44:49 +05:30
Isaac Connor ff2981b9b3 code style. Remove unused members. Make WriteFrameImage const 2020-12-01 09:53:51 -05:00
Isaac Connor 836cd2d58d Merge branch 'Font' of https://github.com/hax0kartik/zoneminder into font 2020-11-30 09:45:39 -05:00
hax0kartik d290ffc1b3 Set individual rgb components instead of memset which is wrong 2020-11-30 17:57:59 +05:30
Isaac Connor 159edbfce9 Fix video file having wrong id 2020-11-29 16:25:33 -05:00
hax0kartik 32e2563643 Free font data when destructor is called 2020-11-29 10:53:20 +05:30
hax0kartik 890a52605f Satisfy cpplint 2020-11-29 10:25:06 +05:30
hax0kartik bbeb599fce Remove bigfont 2020-11-28 20:28:34 +05:30
hax0kartik b212b0e450 Allow modifying font file location 2020-11-28 20:18:17 +05:30
hax0kartik 0a7b7b9661 Bound check values 2020-11-28 19:44:45 +05:30
hax0kartik 528699f942 Use ctzll + new font format for improving drawing speed 2020-11-28 18:46:20 +05:30
Isaac Connor 3a943d6f09 Add ServerId method, code style 2020-11-27 13:29:05 -05:00
Isaac Connor 95cbc053fc Try other storage areas if we fail to create event dir on the assigned area. 2020-11-27 13:28:38 -05:00
Isaac Connor a6245d9e90 Minor code style update 2020-11-27 13:27:51 -05:00
Isaac Connor d6345d32fd Reduce error level of warnings about monitors having Function==NONE 2020-11-25 09:53:06 -05:00
Isaac Connor e0a30ab5e0 Only log an error if we haven't been given sigpipe. 2020-11-22 17:28:53 -05:00
Isaac Connor 660636c0e2 loop if we get egain when flocking. Warn when format not specified. 2020-11-22 16:54:42 -05:00
Isaac Connor 4d8f45d284 There is no need to copy query. We do not modify it. 2020-11-21 16:59:21 -05:00
Isaac Connor 1b472edc2b fix cast 2020-11-21 16:58:22 -05:00
Isaac Connor 6da673dd69 remove unused includes 2020-11-21 09:25:36 -05:00
Isaac Connor 5f4fb4200f googe code style 2020-11-21 09:25:10 -05:00
Isaac Connor 2cdf0da3c0 Remove unused includes and apply google code style 2020-11-21 09:15:36 -05:00
Isaac Connor 7653a058a3 More correct code for setting source 2020-11-20 16:31:40 -05:00
Isaac Connor e1a0c4f973 Don't log a warning of comms not open if no connkey 2020-11-20 16:31:12 -05:00
Isaac Connor 65d4c43cc2 Use BOUNDARY instead of ZoneMinderFrame. If we get EAGAIN when flocking, try again. 2020-11-20 16:29:10 -05:00
Isaac Connor 4f178e47bc Break early after setting zm_terminate so that zms quits faster. Use a basic assignment instead of memcpy for last_frame_timestamp 2020-11-19 16:39:53 -05:00
Isaac Connor 03f033cf36 cleanup MOnitor destructor. Most of the freeing is done in disconnect now. Fixes zms crash 2020-11-19 16:39:14 -05:00
Isaac Connor 3f1e7e793f update buffertype after DumpBUffer 2020-11-19 16:38:49 -05:00
Isaac Connor 58ccea6aa8 use better c++ class initialisation. Use ZM_BUFTYPE_DONTFREE instead of 0 for init buffertype. 2020-11-19 16:37:28 -05:00
Isaac Connor 634a3dbe81 fix crashes/memleaks when waiting for a zmc process to start. Fix other memleaks 2020-11-19 10:43:02 -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 74972be9b5 spacing, code style. Set row=nullptr to quiet valgrind 2020-11-18 13:15:52 -05:00
Isaac Connor d4253be69f Use proper C++ initializer for Config. Don't copy the sql string, just use it from whereever in ram it is. 2020-11-18 13:15:07 -05:00
Isaac Connor 6542072334 fix logic causing segfault instead of waiting for zmc. Remove trailing whitespaces 2020-11-18 09:56:13 -05:00
Isaac Connor 9713a2ec00 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-11-17 11:09:31 -05:00
Isaac Connor d5295a4464 Fix segfaults and valgrind complaints. Initialize vncClientData, handle failure to connect freeing our client. 2020-11-17 11:08:11 -05:00
Isaac Connor d2a203014f rename diagpipe-r so that we don't have to create directories in SOCKS_DIR 2020-11-13 17:05:03 -05:00
Isaac Connor 23f27d5a11 include frame_type in debug message 2020-11-13 12:43:31 -05:00
Isaac Connor 08a8155b47 Implement a Monitor::disconnect function. Fix Fatals during connect and cleanup Analysis Monitor code to wait around for zmc. Handle zmc going away gracefully. Fixes a slow zma startup due to zmc not being setup yet. 2020-11-13 12:27:51 -05:00
Isaac Connor ad4d0efba6 121 frames is too many, use >= instead 2020-11-12 17:00:32 -05:00
Isaac Connor df783f4835 Merge branch 'master' into zma_to_thread 2020-11-12 12:53:55 -05:00
Isaac Connor 15f1175f25 spacing 2020-11-12 12:36:36 -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 f91dcc9b60 declar rc as int 2020-11-11 20:05:47 -05:00
Isaac Connor 9636a76ccf drop db lock before reporting mysql_errors 2020-11-11 17:42:29 -05:00
Isaac Connor f855f207e2 Limit that # of db frames to buffer to 120 because the sql will exceed 8192. 2020-11-11 14:03:08 -05:00
Isaac Connor d663683f47 Add a bunch of debug statements to figure out crash 2020-11-11 12:43:41 -05:00
Isaac Connor cda3824a25 Use INSERT.. ON DUPLICATE... instead of REPLACE INTO. REPLACE INTO deletes the existing row. Since we now have event counts in there, we lose them. 2020-11-10 12:33:10 -05:00
Isaac Connor 27f336975c Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-11-05 18:12:43 -05:00
Isaac Connor 33f58add11 Rename StartTime, EndTime in Events to StartDateTime and EndDateTime 2020-11-04 13:49:47 -05:00
Isaac Connor 09fe354a22 If event db insert fails, try again until it succeeds. 2020-11-04 11:59:08 -05:00
Isaac Connor b8bd4b6961 Add fallback for now to endtime. Set endtime in AddFramesInternal as well just in case there was never another frame. 2020-11-02 16:34:00 -05:00
Isaac Connor a857f677a6 cppcheck fixes, mostly %d->%u 2020-11-02 12:45:48 -05:00
Isaac Connor 5d32e0faf0 cppcheck fixes. Make curr_frame_id signed as we may subtract from it and go < 0 2020-11-02 12:45:19 -05:00
Isaac Connor ed87ad36b3 missing break 2020-11-02 12:09:25 -05:00
Isaac Connor 4e80c04d23 fix lack of const to match def 2020-11-01 18:48:13 -05:00
Isaac Connor 5b918e69f1 spacing 2020-11-01 17:16:19 -05:00
Isaac Connor 033e749a57 improve code logic/spacing 2020-11-01 17:16:07 -05:00
Isaac Connor 296f6af7fb Remove dirty hack that sets EndTime from monitor. It can get set in event destructor 2020-11-01 17:15:42 -05:00
Isaac Connor 80e54aee66 cppcheck improvements. Add const and override where we can 2020-11-01 17:15:17 -05:00
Isaac Connor 82c3436155 cppcheck improvements. Remove non-const StartTime and EndTime. We will remove the dirty hack use in zm_monitor. 2020-11-01 17:14:44 -05:00
Isaac Connor f79602d638 cppcheck improvements. Use %u instead of %d where appropriate. Move sql def to block where it is used 2020-11-01 17:14:04 -05:00
Isaac Connor 1257a7ea37 improvements reported by cppcheck 2020-11-01 16:11:19 -05:00
Isaac Connor a04f6df06a Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-10-31 10:47:25 -04:00
Isaac Connor a63600ccef remove dead code 2020-10-30 16:09:24 -04:00
Isaac Connor e5097d9466 code style 2020-10-30 11:50:16 -04:00
Isaac Connor f3f0a6baff remove debug 2020-10-26 18:48:43 -04:00
Isaac Connor aef0cc55eb fix merge 2020-10-20 18:27:03 -04:00
Isaac Connor 2eda49333f Merge branch 'master' into zma_to_thread 2020-10-20 16:20:29 -04:00
Isaac Connor 56bbd91a02 Merge branch 'zma_to_thread' of github.com:Connortechnology/zoneminder into zma_to_thread 2020-10-20 16:05:35 -04:00
Isaac Connor 617a1faa99 Add pre-alarm frames when alarm_frame_count > 1 and prealarmcount=0 2020-10-19 13:25:26 -04:00
Isaac Connor eefbed04c1 Add debugging for min_section_length keeping us in ALERT 2020-10-19 13:24:30 -04:00
Isaac Connor df2f5f814b fix case in mocord where cause would not contain motion 2020-10-19 13:24:08 -04:00
Isaac Connor cc24df9593 init shared_data in the purpose=QUERY case to prevent crash. Also don't load zones if we don't need them 2020-10-19 13:23:40 -04:00
Isaac Connor 06c8ce57c2 Make zm_terminate available to anyone who includes zm.h 2020-10-16 20:06:53 -04:00
Isaac Connor 2f06a79ad8 fix compiler warnings 2020-10-16 20:04:26 -04:00
Isaac Connor ae506d94fa Improve log line telling why we are going into alarm 2020-10-11 10:01:11 -04:00
Isaac Connor 9768f081e4 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-10-09 10:21:33 -04:00
Isaac Connor 268e364cfd handle the paused case 2020-10-09 10:21:00 -04:00
Isaac Connor 9bfe8c28e4 Merge branch 'gcc_cpuid' 2020-10-09 08:48:01 -04:00
Isaac Connor 7d1598ae50 Merge branch 'master' into gcc_cpuid 2020-10-09 08:47:30 -04:00
Isaac Connor cb38242917 use nullptr when appropriate 2020-10-08 16:46:47 -04:00
Isaac Connor 2f2562a876 init shared_data in the purpose=QUERY case to prevent crash. Also don't load zones if we don't need them 2020-10-08 16:46:30 -04:00
Isaac Connor 1aadeb2206 free the context as well. 2020-10-08 16:46:03 -04:00
Isaac Connor 871c556ac0 rename a variable to be more readable 2020-10-08 16:45:45 -04:00
Isaac Connor 1173f618ec turn off negative pts detection... I have cameras that generate them all the time, they might actually be valid 2020-10-08 15:50:52 -04:00
Isaac Connor 71686fc1f2 fix case in mocord where cause would not contain motion 2020-10-08 15:50:12 -04:00
Isaac Connor 4afae7b738 More accurate seeking, remove debug and duplicated code. Correct type of curr_frame_id to match frame_count. 2020-10-08 11:13:18 -04:00
Isaac Connor 9cc7f0d360 Merge branch 'release-1.34' 2020-10-08 09:28:25 -04:00
Isaac Connor 86e744777c Put back return on error 2020-10-08 09:12:37 -04:00
Isaac Connor c28ff1f2b4 Include loading EndTime when loading Events data so that we can determine if an event is in-progress
Keep track of last_id which is the last frame id that we have info for. Use it instead of Frame Count to prevent
accessing non-existent frame records
close ffmpeg_input on event change
include duration in status messages because it may change when playing an in-progress event.
when we hit the end of our frame data if it is an in-progress event, reload the event data instead of moving to the next event.
Include X-Timestamp in http headers to match live stream behaviour
Only send time to next event when mode=ALL
Fix scale behaviour on event view
2020-10-08 09:06:56 -04:00
Isaac Connor 7cc023c1ec Update Event details when writing Frame Data. Write Frame Details when inserting a Bulk Frame 2020-10-07 18:37:38 -04:00
Isaac Connor 9abde9ee06 Merge branch 'release-1.34' 2020-10-06 16:51:12 -04:00
Isaac Connor 044ce61ddb Always do event change detection whether we are paused or not. Because we might be single-stepping. Change progress to a double as that it what it should be. 2020-10-06 16:47:51 -04:00
Isaac Connor 061c889394 Implement SEEK to offset using two 32bit integers to represent the double value 2020-10-06 16:35:46 -04:00
Isaac Connor b27eac3cbf Make centerCoord take a font size parameter to fix centering when using large font. 2020-10-05 16:12:48 -04:00
Isaac Connor 1c2dd92d31 Add LabelSize to get label_size from monitor 2020-10-05 16:12:33 -04:00
Isaac Connor 93ecb87caa Clear the textframe before Annotating it. 2020-10-05 16:12:09 -04:00
Isaac Connor c1c407ea39 debug new offset as well when SEEKING 2020-10-05 15:55:42 -04:00
Isaac Connor c43011ba18 don't send keepalive when we have sent a textFrame 2020-10-05 13:33:57 -04:00
Isaac Connor 71085d9724 Clear the textframe before Annotating it. 2020-10-05 13:16:22 -04:00
Isaac Connor 5dd83d41fa Add LabelSize to get label_size from monitor 2020-10-05 13:15:58 -04:00
Isaac Connor 059d7d388f Make centerCoord take a font size parameter to fix centering when using large font. 2020-10-05 13:15:39 -04:00
Isaac Connor 6c24cd0c70 When playing backwards, say time to previous event instead of next. Instead of defaulting to -2x when hitting the rewind button, start with -1x. 2020-10-05 13:14:44 -04:00
Isaac Connor 419a03db25 Add debugging for min_section_length keeping us in ALERT 2020-10-05 12:11:39 -04:00