Commit Graph

4222 Commits

Author SHA1 Message Date
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
Isaac Connor c5459020c9 implement value check & correct on replay_rate for VARPLAY 2020-10-05 12:11:11 -04:00
Isaac Connor 7a7a3413d3 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-05 10:29:42 -04:00
Isaac Connor 283f224a95 Add pre-alarm frames when alarm_frame_count > 1 and prealarmcount=0 2020-10-05 09:19:48 -04:00
Isaac Connor 3570c6e828 Better debug logging of event and frame inserts 2020-10-05 09:11:16 -04:00
Isaac Connor 07d0353373 Fix zms only sending 1 frame due to != instead of == 2020-10-03 11:57:22 -04:00
Isaac Connor 387f5dd397 Fix double free of image 2020-10-02 12:47:05 -04:00
Isaac Connor 5d0c812dfb fix resource leak on error 2020-10-02 12:46:53 -04:00
Isaac Connor a39a656373 Merge branch 'master' into zma_to_thread 2020-09-29 11:02:40 -04:00
Isaac Connor e163a3c93a spacing more debug 2020-09-25 16:20:19 -04:00
Isaac Connor f18cd57221 spacing more debug 2020-09-25 16:19:52 -04:00
Isaac Connor d21c04e5dc add Debug 2020-09-25 16:19:31 -04:00
Isaac Connor 8223d6ed15 When closing event, on first update, only update if Name has not been changed. If so, do the update without setting the Name. 2020-09-25 15:29:31 -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
Isaac Connor 2f03ceeccf log referer when unable to authenticate 2020-09-22 13:10:39 -04:00
Isaac Connor 98aad6abbc Make status UNKNOWN be -1 so that zmu -s retains backwards compatibility. Fixes #3048 2020-09-21 14:25:41 -04:00
Isaac Connor d843ef89f6 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-09-09 15:07:46 -04:00
Isaac Connor 30e9924601 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-09-09 12:55:13 -04:00
Isaac Connor 53fe4c7f1b Handle error conditions 2020-09-09 12:55:08 -04:00
Isaac Connor a4b83b0e99 Merge branch 'master' of github.com:zoneminder/ZoneMinder 2020-09-09 12:13:54 -04:00
Isaac Connor 6bfd7c5e14 log referer when unable to authenticate 2020-09-09 12:13:28 -04:00
Isaac Connor 7b52237593 spacing and correct a libvlc=>libvncclient 2020-09-09 10:25:55 -04:00
Isaac Connor eadd9dd4f4 spacing 2020-09-07 13:28:45 -04:00
Isaac Connor 4126f96b40 clean up sendFrame a bit introducing send_file and send_buffer utility functions 2020-09-07 11:19:47 -04:00
Isaac Connor f3873d65e4 remove debug 2020-09-02 17:33:38 -04:00
Isaac Connor 77b978ed26 Handle non-connected monitor in processCmd. Quit when zm_terminate in checkInitiialized loop 2020-09-02 17:22:39 -04:00
Isaac Connor 794474afab Add UNKNOWN status type. test for shared_data in ShmValid() 2020-09-02 17:22:00 -04:00
Isaac Connor 3a9cec8e4d We no longer care about not being able to connect to the monitor. 2020-09-02 16:37:11 -04:00
Isaac Connor ea3fcb16a6 Changes to not just die if not connected to monitor. Instead wait around spitting out an error image. 2020-09-02 16:36:05 -04:00
Isaac Connor 43e1ac2ad4 Send Text frame when unable to connect to the monitor. 2020-09-02 16:35:27 -04:00
Isaac Connor f60d6ff1a3 Use BOUNDARY instead of ZoneMinderFrame 2020-09-02 16:34:56 -04:00
Isaac Connor 4d5d2ecd5d
Merge pull request #3030 from Carbenium/nullptr
Convert NULL/0 to nullptr
2020-08-26 16:54:28 -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
Peter Keresztes Schmidt 06dfe9b987 Extract generated part of zm_config.h into zm_config_data.h
With this change IDEs have it easier to correctly reference the
variable/class declarations. Additionally one does not have to
regenerate the zm_config.h file when changing the code.
2020-08-25 23:33:56 +02:00
Peter Keresztes Schmidt 394426cca2 zm_config: Fix a -Wwrite-string warning
For reference:
/home/peterke/DEV/zoneminder/build/src/zm_config.h:31:26: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
2020-08-25 20:51:42 +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
Isaac Connor 08aee63f66 Don't need a variable can just pass the define 2020-08-22 11:36:07 -04:00
Isaac Connor 2773737e54 Use gcc builtin functions for cpuid 2020-08-19 16:57:20 -04:00
Andrew Bauer a0bc60ceda change not enabling ffmpeg msg to debug 2020-08-18 10:34:07 -05:00
Andrew Bauer ccda2b3707 EPIPE sets zm_terminate so no need to check 2020-08-18 09:37:21 -05:00
Andrew Bauer 62d687adfa dont warn or error for EPIPE errno's 2020-08-18 09:30:06 -05:00
Isaac Connor 610f73a835 Merge branch 'release-1.34' 2020-08-17 19:30:32 -04:00
Isaac Connor e5dda8d142 Include avutils/imgutils.h to support compile on libav-tools 2020-08-16 14:56:52 -04:00
Andrew Bauer 09b12a7dac
Remove extra space in event name 2020-08-13 10:51:10 -05:00
Isaac Connor d42424d6d8 Merge branch 'release-1.34' 2020-08-11 11:41:11 -04:00
Isaac Connor afae319c94 Fix MOCORD not going into ALARM state. 2020-08-11 11:02:26 -04:00
Isaac Connor bf2cb5fb1f Add PrimeCapture to zm_remote_camera_http. PrimeCapture is used to determine if we can connect and so by not implementing it, monitors like this say capturing even though they are not. 2020-08-08 10:21:06 -04:00
Isaac Connor c0ab8bf90d Merge branch 'master' into zma_to_thread 2020-08-07 17:53:32 -04:00
Isaac Connor 5fb56c9f57 Merge branch 'master' into zma_to_thread 2020-08-07 17:52:43 -04:00
Andrew Bauer 98f315951e
Merge pull request #3003 from marillat/patch-1
Don't prefix manpage with zoneminder-
2020-08-07 12:34:30 -07:00
dmo ed496e74fc
Update CMakeLists.txt 2020-08-07 07:54:58 +02:00
Isaac Connor a19990f4d7 Merge branch 'release-1.34' 2020-08-06 11:57:35 -04:00
Isaac Connor 302189a65e Don't use camera->LineSize when allocating shared images. It doesn't work because other processes don't know about it. 2020-08-06 10:11:00 -04:00
Isaac Connor 4d4fab46d6 Spacing, use FFMpegInit instead of deprecated ffmpeg calls 2020-08-05 19:17:00 -04:00
Isaac Connor b867d0c463 Fix image copy when line sizes are not the same. 2020-08-05 11:33:22 -04:00
Isaac Connor be05040a47 fix rotated images 2020-07-30 19:50:25 -04:00
Isaac Connor 05107bb2f7 Add debug of unused options 2020-07-30 15:16:31 -04:00
Isaac Connor d8cd4386cf rename GetOptEncoderParams to GetOptEncoderParams to GetOptEncoderParamsVec so that we can get at the std::string if we want to.
Use EncoderParams when setting movflags in VideoStore.

Move the content of this option to a help popup so that we can remove the comments from it. av_dict_parse doesn't handle the hash tag as a comment.
2020-07-30 15:06:05 -04:00
Isaac Connor 2f57ccc9b9 Merge branch 'release-1.34' 2020-07-29 16:27:01 -04:00
Isaac Connor 4ed0ad26a7 bail early if fwrite fails 2020-07-29 14:01:52 -04:00
Isaac Connor b1054a7db6 bail earlier if writing content-length fails. Dropped connections aren't really errors, make them Info. Fixes #2996 2020-07-29 13:39:00 -04:00
Isaac Connor 7511b1fd7e Fix for saving jpegs 2020-07-25 14:25:45 -04:00
Isaac Connor 859428db51 remove debug 2020-07-24 15:42:53 -04:00
Isaac Connor f4a0f91d7f nothing 2020-07-24 15:27:05 -04:00
Isaac Connor 1f889bd086 def don't use linesize when allocating share images 2020-07-24 15:26:48 -04:00
Isaac Connor 4ecfa32601 remove uneccessary multiplications from jpeg compression. 2020-07-24 15:26:28 -04:00
Isaac Connor 0e9da28a97 Don't pass linesize to shared images. Shared images have to have a contiguous chunk of memory. 2020-07-24 12:48:38 -04:00
Isaac Connor 0a9fdb4eb3 Fix second jump by matching final WriteJpeg destination. Just use linesize instead of assigning to row_stride 2020-07-24 12:41:27 -04:00
Isaac Connor d9a9aeef1d if linesizes don't match, allocate a frame buffer and use that when sws_scaleing and then copy to the image buffer. 2020-07-24 12:37:24 -04:00
Isaac Connor 490009446d fix use of int or unsigned long instead of int for monitor id 2020-07-23 19:32:30 -04:00
Isaac Connor 559fe15e3f fix use of int or unsigned long instead of int for monitor id 2020-07-23 19:32:25 -04:00
Isaac Connor e9681fcdcf fix use of int or unsigned long instead of int for monitor id 2020-07-23 19:31:12 -04:00
Isaac Connor ee4d90d906 remove debug 2020-07-23 17:15:43 -04:00
Isaac Connor cceb010048 set linesize in WriteBuffer which also sets colours, width, etc. Fixes segfault when streaming from jpegs 2020-07-23 17:14:56 -04:00
Isaac Connor 4f3b6a063e don't cast fps to an int... values like 2.038 become 1. 2020-07-23 16:08:57 -04:00
Isaac Connor e3a2099ca8 fix crash because we weren't setting alarm status 2020-07-23 16:08:35 -04:00
Isaac Connor 18272b9587 add debug for prealarmcount 2020-07-23 12:05:53 -04:00
Isaac Connor 7aa46df50f Merge branch 'master' of github.com:/ZoneMinder/zoneminder 2020-07-23 12:05:32 -04:00
Isaac Connor 09d02e94d9 fix lack of c_str on path 2020-07-23 11:53:54 -04:00
Isaac Connor 27fed8b227 spacing 2020-07-23 11:53:33 -04:00
Isaac Connor 172eaad8bd fix capture jpeg saving due to use of std::string 2020-07-22 22:45:11 -04:00
Isaac Connor 1416bc547e Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-07-22 17:37:52 -04:00
Isaac Connor f635afe00f spacing 2020-07-22 17:30:39 -04:00
Isaac Connor 07165aed98 mostly spacing. Also set new_size from line_size in Assign(Image&) and set linesize in the assigned image 2020-07-22 17:30:28 -04:00
Isaac Connor cf07e0a089 fix crashes, current status is: local camera works and can be viewed. Amazing 2020-07-22 13:41:27 -04:00
Isaac Connor 3641797500 Merge branch 'master' into zma_to_thread 2020-07-22 13:14:40 -04:00
Isaac Connor 7e6c637ec3 Unexpected colours while bad should only cause failure to annotate, not panic 2020-07-22 11:34:54 -04:00
Isaac Connor d23dc42981 fix merge from master, make it compile 2020-07-21 18:48:45 -04:00
Isaac Connor 869860bb26 Merge branch 'master' into zma_to_thread 2020-07-21 17:49:39 -04:00
Isaac Connor 7575afc8d5 Merge branch 'master' into zma_to_thread 2020-07-21 17:38:32 -04:00
Isaac Connor 13e8ed1924 Clean up code that updates event with video_name. Fix video_file assignment missing / 2020-07-21 16:34:46 -04:00
Isaac Connor f217ab54a3 When event_close_mode == CLOSE_ALARM and so we want to close the recording and start a new one, don't do it when alarm_frame_count > 1 until alarm_frames > alarm_frame_count. I believe this fixes a mem leak 2020-07-21 16:17:46 -04:00
Isaac Connor f593261136 Convert use of char path[PATH_MAX] to std::string. Fixes potential overflows, quiets compile, should reduce ram quite a bit and might event be faster. Code is also more readable. 2020-07-21 16:16:16 -04:00
Isaac Connor 2eec85eaff Convert use of char path[PATH_MAX] to std::string. Fixes potential overflows, quiets compile, should reduce ram quite a bit and might event be faster. Code is also more readable. 2020-07-21 16:10:05 -04:00
Isaac Connor 785087022d Clear PerAlarmFrames on shutdown 2020-07-20 21:09:07 -04:00
Isaac Connor a0be7b1fcb fixup EmptyPreAlarmFrames 2020-07-20 21:02:49 -04:00
Isaac Connor 41dfb8ae38 fix duplicate jpeg_create_compress memleak 2020-07-20 21:02:06 -04:00
Isaac Connor d716d1d686 Merge branch 'release-1.34' 2020-07-20 16:25:41 -04:00
Isaac Connor 5c844f9cae remove extra space 2020-07-20 10:22:40 -04:00
Isaac Connor 01892352da rename sseversion to sse_version 2020-07-19 17:50:47 -04:00
Isaac Connor 6b39f59b3a use delete[] instead of delete. 2020-07-16 16:00:23 -04:00
Isaac Connor 2c056c188f Fix compile on old ffmpeg 2020-07-16 15:59:08 -04:00
Isaac Connor 4e2732e12d Priming capture logs should be debug not Info 2020-07-16 15:51:24 -04:00
Isaac Connor a7b76dfe41 Remove debug 2020-07-16 15:48:09 -04:00
Isaac Connor 0a6321ee56 Update linesize when using AssignDirect. Fixes #2979 2020-07-16 15:48:06 -04:00
Isaac Connor d849ee54a4 Update state to ALARM AFTER we have opened the event, so that we get the correct event Id. Fixes #2978 Fixes #2894 2020-07-16 15:47:01 -04:00
Isaac Connor a8e46feb12 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-07-16 15:42:56 -04:00
Isaac Connor 3658c3b589 Update state to ALARM AFTER we have opened the event, so that we get the correct event Id. Fixes #2978 Fixes #2894 2020-07-16 15:36:26 -04:00
Isaac Connor c2a025300f Remove debug 2020-07-16 15:34:29 -04:00
Isaac Connor 9e06385f26 Update linesize when using AssignDirect. Fixes #2979 2020-07-16 14:50:50 -04:00
Isaac Connor 9b05337e57 Priming capture logs should be debug level, especially if they ar egoing to log passwords 2020-07-13 15:03:04 -04:00
Isaac Connor 880219bb0f Merge branch 'release-1.34' 2020-07-07 18:58:32 -04:00
Isaac Connor 9b447bde8e remove extra { 2020-07-07 18:56:51 -04:00
Isaac Connor e675c8373e Merge branch 'release-1.34' 2020-07-07 16:15:56 -04:00
Isaac Connor 916d1ed59e Merge branch 'release-1.34' of github.com:ZoneMinder/zoneminder into release-1.34 2020-07-07 16:15:23 -04:00
Isaac Connor c79c65e72e spacing fixes 2020-07-07 16:14:57 -04:00
Isaac Connor af74ecac4c Pass along the image linesize to Image constructors so that Image knows about the requirement for it to be 32byte aligned. 2020-07-07 16:14:38 -04:00
Isaac Connor fd9272241a Introduce constructors that can be passed a linesize which is the # of bytes to use to store a line of image. This can be different from the image width * colours as it should be 32byte aligned for use with sws_scale. 2020-07-07 16:13:41 -04:00
Isaac Connor cae8978501 add an alignment variable to ffmpeg_camera to use wherever we want to tell ffmpeg about the buffer and linesize alignment. Figure out linesize in the constructor so that zm_monitor can pass the info along to zm_image. 2020-07-07 16:12:14 -04:00
Isaac Connor 209cbe1000 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-07-07 09:23:46 -04:00
Isaac Connor acf8a30434 Merge branch 'release-1.34' 2020-07-07 09:22:56 -04:00
Isaac Connor 533876f313 rewrite code to use fewer lines. No logic change. 2020-07-07 09:16:42 -04:00
Andrew Bauer dcab218a2e remove global config item CREATE_ANALYSIS_IMAGES 2020-07-06 12:22:41 -05:00
Isaac Connor 864cd4c178 introduce a linesize variable which represents the # of bytes to hold a line of the image in the buffer. May be > width * colours 2020-07-05 17:51:57 -04:00
Isaac Connor 2eac69dd88 fix duplicate extrapad names 2020-07-04 17:16:43 -04:00
Isaac Connor 2db65d3821 Merge branch 'release-1.34' 2020-07-04 09:09:24 -04:00
Isaac Connor e137e1dacf Don't consult EVENT_CLOSE_MODE if mode is RECORD 2020-06-26 19:30:35 -04:00
Isaac Connor 728f41fe9c Log @debug when a linked monitor is disconnected. Use ZM_MAX_RESTART_DELAY instead of hard coded 60 seconds before next reconnect attempt 2020-06-23 16:56:35 -04:00
Isaac Connor 31a3be5c8e check shared_data->valid when checking if LinkedMonitor is connected 2020-06-23 15:05:17 -04:00
Isaac Connor 7354b4d30f Fix compile on old ffmpeg 2020-06-23 14:43:11 -04:00
Isaac Connor a15aace2fb introduce shared_data->zmc_heartbeat_time and zma_heartbeat_time. 2020-06-22 10:40:00 -04:00
Isaac Connor 4d020bab56 spacing 2020-06-22 10:39:29 -04:00
Isaac Connor ae5116ff9c improve efficiency of outputting device query. The constant strlen's were terrible. 2020-06-15 15:29:26 -04:00
Isaac Connor bd287d7c7c Fix segfault when timestamp contains an unimplemented character. Fixes #2943 2020-05-29 11:45:38 -04:00
Isaac Connor 2637c887f8 Fix segfault when timestamp contains an unimplemented character. Fixes #2943 2020-05-29 11:44:34 -04:00
Isaac Connor 662b9894bd Don't delete send_image because it is static. Fixes #2923 2020-05-23 16:12:55 -04:00
Isaac Connor ce9e2c8b27 Merge branch 'release-1.34' 2020-05-15 11:53:09 -04:00
Isaac Connor 9ea1c637f9 Remove debug Exiting message 2020-05-15 11:48:41 -04:00
Isaac Connor 6bb2c09a72 Merge branch 'release-1.34' 2020-05-15 11:41:34 -04:00
Isaac Connor 7a85be59be Remove errant closing db debug output 2020-05-15 10:22:58 -04:00
Isaac Connor d92772343a Merge branch 'release-1.34' 2020-05-14 12:02:50 -04:00
Isaac Connor 25a772c5eb reorder logic a bit to make it easier to read. Make exit_zmu not return a value. 2020-05-14 12:02:02 -04:00
Isaac Connor 16e7ca5a51 failure opening a monitor should not be fatal. 2020-05-14 12:01:24 -04:00
Isaac Connor 402c0c6a1b Fix build on older ffmpeg 2020-05-14 12:01:03 -04:00
Isaac Connor efbab4e2bc Dont' call mysql_library_end as it segfaults and hangs. 2020-05-14 12:00:36 -04:00
Isaac Connor bbf64de40e If there is a failure when decoding due to lack of support for the codec profile, re-init without hwaccel 2020-05-13 08:04:53 -04:00
Isaac Connor 7e80b33ee0 If there is a failure when decoding due to lack of support for the codec profile, re-init without hwaccel 2020-05-12 15:10:08 -04:00
Isaac Connor 81cd338545 Merge branch 'master' of github.com:zoneminder/ZoneMinder 2020-05-11 08:34:19 -04:00
Isaac Connor 3d278eddf8 erge branch 'master' into batch_frame_records 2020-05-08 20:16:36 -04:00
Isaac Connor 1f6e68c129 Merge branch 'release-1.34' of github.com:ZoneMinder/zoneminder into release-1.34 2020-05-08 17:26:02 -04:00
Isaac Connor a798e874fe Spacing 2020-05-07 13:44:32 -04:00
Isaac Connor fcf6eb2631 Add setting the codecpar->codec_type as well. Fixes detecting stream type 2020-05-07 13:44:02 -04:00
Isaac Connor 40633830d0 Code style/spacing 2020-05-07 13:43:35 -04:00
Isaac Connor b1b258ab9b Code Style and use backtick escapes on sql column names, specifically Function 2020-05-07 13:43:05 -04:00
Isaac Connor 6939f9953a code style, merge Debug lines and consult zm_terminate in the main while loop 2020-05-07 13:41:39 -04:00
Isaac Connor 87d0eb88b7 code style, merge Debug lines and consult zm_terminate in the main while loop 2020-05-07 13:41:29 -04:00
Isaac Connor 09740d72a4 code style, merge Debug lines and consult zm_terminate in the main while loop 2020-05-07 13:41:09 -04:00
Isaac Connor 7489d66557 use is_video_stream utility function. 2020-05-07 13:40:32 -04:00
Isaac Connor 9f73a55087 Make params to is_video_* a const because we don
't alter it
2020-05-07 13:39:32 -04:00
Isaac Connor bab15217f5 Make zm_terminate available to anyone who includes zm.h 2020-05-07 13:38:56 -04:00
Isaac Connor 4ff341a0f5 Merge branch 'master' into zma_to_thread 2020-05-02 18:03:42 -04:00
Isaac Connor e9b1eacc6d Fix not finding stream with old libs 2020-05-02 11:49:28 -04:00
Isaac Connor eca56c7123 Provide a more useful error message when the monitor's function is set to NONE. Fixes #2877 2020-05-01 19:21:20 -04:00
Isaac Connor ef540aa972 sun_path is defined to be 108 bytes. No need for 4095. Quiets compiler warnings 2020-05-01 19:13:50 -04:00
Joe540 c9f04c9136 Support event_close_mode for record mode
Support event_close_mode for record mode (with linked monitor)
2020-05-01 19:10:23 -04:00
Isaac Connor 6098c4c961 properly close streams and free memory in ffmpeg_input destructor 2020-05-01 19:03:18 -04:00
Isaac Connor c5cf6e1a74 undo random addition 2020-05-01 19:01:09 -04:00
Isaac Connor 050868fad1 fix build on libavtools < 12 2020-05-01 19:00:40 -04:00
Isaac Connor 9beb5cee3a use delete[] instead of delete. 2020-05-01 18:55:48 -04:00
Isaac Connor 24aaeee155 dynamically load monitor Object when loading event data. Also dynamically load Storage, but only when the Id is different. Free the various objects in the destructor. Sync up some spacing issues with master. 2020-05-01 18:44:35 -04:00
Isaac Connor 2071b2a71e Guess video file name for in progress events 2020-05-01 18:14:58 -04:00
Isaac Connor 917c43a54b If can't connect to db, bail instead of loading config 2020-05-01 18:08:32 -04:00
Isaac Connor f96cc66b9d google code style 2020-05-01 18:06:27 -04:00
Isaac Connor ffcef8a42a spacing and make sws_context static global so we don't have to keep initializing it when playing back from mp4 in eventstream. 2020-05-01 15:22:32 -04:00
Isaac Connor ffd7970b07 Merge branch 'release-1.34' 2020-05-01 13:17:10 -04:00
Isaac Connor 14b90903a9 Merge branch 'release-1.34' of github.com:ZoneMinder/zoneminder into release-1.34 2020-05-01 12:50:10 -04:00
Isaac Connor 3675ee1c33 Properly delete FramesData as well. 2020-05-01 09:56:27 -04:00
Isaac Connor 434f34f027 use delete[] instead of delete. 2020-04-30 11:04:55 -04:00
Isaac Connor a6ee817bc4 Fix auth by hash 2020-04-28 19:00:42 -04:00
Isaac Connor e21ffbea7d Merge branch 'fix_zms' 2020-04-26 18:43:39 -04:00
Isaac Connor ae9a5766f5 Merge branch 'release-1.34' into fix_zms 2020-04-26 18:19:30 -04:00
Isaac Connor 3b11258fbc Make checkEventLoaded return true if a new event was loaded, false otherwise. The idea is to give more information back to whoever calls it 2020-04-26 15:22:29 -04:00
Isaac Connor a7363a4b36 reduce compiler deprecation warnings by using our zm api's that hide support for older ffmpeg versions 2020-04-24 19:05:58 -04:00
Isaac Connor 7a7f366eb1 Change semantics of zm_send_packetreceive_frame to return the # of bytes consumed. This is inline with how to old deprecated api used to work. The new api consumes the packet, so just return packet size. 2020-04-24 19:05:17 -04:00
Isaac Connor c6c8a23c02 sun_path is defined to be 108 bytes. No need for 4095. Quiets compiler warnings 2020-04-24 18:03:00 -04:00
Isaac Connor b0c5abc2c2 Quiet compiler warnings. 2020-04-24 17:51:00 -04:00
Isaac Connor ed7c0815de Merge branch 'release-1.34' 2020-04-24 17:05:32 -04:00
Isaac Connor 3dd5ac8146 shrink buffers for writing timestamp into. Don't need 64 when 28 will do. Quiets compiler warnings 2020-04-24 16:43:27 -04:00
Isaac Connor e274aa471a Use fputc instead of printf for separator to be a tiny bit more efficient. Report current state when forcing alarm on 2020-04-23 18:13:34 -04:00
Isaac Connor 00dad82b46 Fix use of strncpy using the entire size of the buffer. You have to -1 for the null char 2020-04-23 18:12:54 -04:00
Isaac Connor 4aaa02dc24 fix cpplint complaints and remove casts that are unnecessary. Micro-optimisation by using fputs for date_string instead of fprintf 2020-04-23 18:12:44 -04:00
Pliable Pixels df4fab5fbf re-enable fragmented mp4 recordings 2020-04-23 18:11:10 -04:00
Isaac Connor b8781301f8 Drop lock around openFile so that we don't hang 2020-04-23 18:08:14 -04:00
Isaac Connor d31216330c Only align buffers to 32bit if using a 32bit pix format. Fixes #2819 2020-04-23 18:07:07 -04:00
Isaac Connor 5bf068791b Merge branch 'rate_dropdown' into release-1.34 2020-04-23 16:11:59 -04:00
Pliable Pixels 9b77f77ac3 better logs 2020-04-23 11:09:39 -04:00
Isaac Connor 098ab4faae Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-04-23 10:26:25 -04:00
Isaac Connor 4b53c7660e
Merge pull request #2911 from hax0kartik/dl-curl
Dynamically load libcurl, libvlc and libvnc
2020-04-22 09:49:37 -04:00
Isaac Connor 76d88621ac clean up Stream and EventStream Object initializers 2020-04-21 08:28:44 -04:00
Isaac Connor 37c829f2bf cleanup code a bit. Move BlobStats to the Zone Object so that it isn't constantly being allocated/freed from the heap. Improve ParsePolygon. 2020-04-20 11:19:33 -04:00
Isaac Connor 924841ae71 Merge pull request #2913 from connortechnology/fix_monitor_loading
Fix monitor loading
2020-04-18 17:49:34 -04:00
Isaac Connor d0c36c9888
Merge pull request #2913 from connortechnology/fix_monitor_loading
Fix monitor loading
2020-04-17 10:26:03 -04:00
Isaac Connor b504110825 Correct loading monitor values from db 2020-04-16 17:54:20 -04:00
Isaac Connor f60f91c834 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-04-14 17:01:58 -04:00
Isaac Connor c50509d22a Fix use of strncpy using the entire size of the buffer. You have to -1 for the null char 2020-04-14 17:01:50 -04:00
Isaac Connor 17356a7b3a Use a BOUNDARY define to construct boundary strings. Get rid of code that kills zms when the frame rate drops too low, as dying doesn't help, and some cameras just have a really low frame rate. 2020-04-14 17:01:12 -04:00
Isaac Connor 9193ef4a62 Send the first frame twice to fix low framerate display in Chrome 2020-04-14 16:44:03 -04:00
hax0kartik 640dfdd4a0 Dynamically load libvnc at runtime 2020-04-14 02:46:01 +05:30
hax0kartik 143ad394a9 Dynamically load libvlc 2020-04-14 00:15:06 +05:30
hax0kartik f4c4441308 Convert all fatals in lincurl camera to errors 2020-04-13 18:55:29 +05:30
Joe540 657a353c34
Support event_close_mode for record mode
Support event_close_mode for record mode (with linked monitor)
2020-04-12 20:42:43 -04:00
hax0kartik 3a8b931cda Fix stuff 2020-04-08 12:52:09 -04:00
hax0kartik 64f57aa373 Dynamically load libcurl at runtime 2020-04-08 05:18:16 -04:00
Isaac Connor 8193e4ea4e replace snprintf with hex table lookup for speed 2020-04-06 11:46:14 -04:00
Isaac Connor 1e38ba871d Merge branch 'master' into fix_use_of_sprintf 2020-04-06 11:23:12 -04:00
Isaac Connor c6e0b9be39 Merge branch 'master' into fix_use_of_sprintf 2020-04-06 11:21:43 -04:00
Isaac Connor 98e9355723 snprintf will put the terminator in. We don't have to. 2020-04-06 11:21:02 -04:00
hax0kartik face73ad7e Fix compilation 2020-04-05 22:45:47 -04:00
Isaac Connor 2827ba38cd use snprintf instead of sprintf. Fix putting a \0 terminator 2020-04-05 13:41:03 -04:00
Isaac Connor 9441fe833f satisfy cpplint 2020-04-05 13:23:12 -04:00
hax0kartik 04a6d5e42e Fix a memory leak, shift rfbClientCleanup to Terminate() 2020-03-30 10:11:42 -07:00
hax0kartik 6886b2b375 Modify Convert to scale as well 2020-03-28 15:17:19 -07:00
Isaac Connor b93f5d970c sws_scale directly into the image. Allocate and de-allocate sws in Prime and Close. Seems to fix scaling. 2020-03-28 16:03:52 -04:00
Isaac Connor e894102cb7 debug 2020-03-28 11:59:05 -04:00
hax0kartik a781cc2c87 WIP scaling 2020-03-27 14:32:50 -04:00
hax0kartik b615eada41 Add a missing endif 2020-03-27 14:32:50 -04:00
hax0kartik d61e5e42ca Use preprocessors to ensure libvnc monitor is only built when libvnc is found 2020-03-27 14:32:50 -04:00
hax0kartik ae80b3b859 Start implementing VNC 2020-03-27 14:32:50 -04:00
Isaac Connor bc950c9a34 Remove <set> and <map> as they are not used 2020-03-26 15:11:39 -04:00
Isaac Connor 79ad2ec87d better debug logging for SLOWFWD and SLOWREV listing new frame_id 2020-03-26 15:08:32 -04:00
Isaac Connor e98f422730 Use %d for values that are actually integer in debug statements 2020-03-26 15:04:28 -04:00
Isaac Connor 45299955a1 Fix SLOW FWD not working 2020-03-26 12:21:42 -04:00
Isaac Connor ea7bea4c6e fix warnings because length() returns long unsigned int, but gnutls_datum_t size is unsigned int. 2020-03-26 12:08:21 -04:00
Isaac Connor a5ec89ab1b use bool instead of my_bool to fix #2886 2020-03-26 12:07:58 -04:00
Isaac Connor cbda9848ab Fix SLOW FWD not working 2020-03-26 12:06:07 -04:00
Isaac Connor adf953dcdd use bool instead of my_bool to fix #2886 2020-03-24 15:30:52 -04:00
Isaac Connor 0ecd35e1c6 fix warnings because length() returns long unsigned int, but gnutls_datum_t size is unsigned int. 2020-03-24 15:30:16 -04:00
Isaac Connor 7fcd71e684 Use fputc instead of printf for separator to be a tiny bit more efficient. Report current state when forcing alarm on 2020-03-24 15:19:16 -04:00
Isaac Connor 4aaaeda6ed Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-03-16 21:06:39 -04:00
Isaac Connor ad61a0e385 Escape Function to fix mysql8. Fixes #2885 2020-03-16 21:06:31 -04:00
Pliable Pixels 30d45aee8f formatting/comment 2020-03-13 15:11:00 -04:00
Pliable Pixels dd76ee2c9f spacing 2020-03-13 15:01:19 -04:00
Pliable Pixels 6b61f4ac84 when an event is created, write video name if applicable so image.php can extract frames while recording is in progress 2020-03-13 14:47:22 -04:00
Pliable Pixels ff7defa84e re-enable fragmented mp4 recordings 2020-03-13 14:46:20 -04:00
Isaac Connor 11b1bf1100 undo random addition 2020-03-11 10:54:52 -04:00
Isaac Connor c90655d178 fix build on libavtools < 12 2020-03-11 10:54:35 -04:00
Isaac Connor 9a3127da06 Merge branch 'rate_dropdown' 2020-03-10 18:47:19 -04:00
Isaac Connor 84d719f2dd Merge branch 'release-1.34' into rate_dropdown 2020-03-10 16:06:11 -04:00
Isaac Connor d055d40bfb Merge branch 'release-1.34' 2020-03-09 13:15:16 -04:00
Isaac Connor ffed88454f Provide a more useful error message when the monitor's function is set to NONE. Fixes #2877 2020-03-09 13:14:09 -04:00
Isaac Connor 3a129a8818 Merge pull request #2874 from hax0kartik/2810-libjwt
Add libjwt and remove gnutls-openssl wrapper
2020-03-06 14:48:45 -05:00
Isaac Connor 835966eb24
Merge pull request #2874 from hax0kartik/2810-libjwt
Add libjwt and remove gnutls-openssl wrapper
2020-03-05 15:30:27 -05:00
hax0kartik a53f67cd31 Remove a extra file added by mistake 2020-03-05 09:53:07 -08:00
hax0kartik 15aec7b109 Add libjwt 2020-03-05 09:51:33 -08:00
hax0kartik 2091ad8c92 Add libjwt and remove gnutls-openssl wrapper 2020-03-05 09:29:27 -08:00
Isaac Connor b78acd7b95 google code style 2020-03-04 14:14:38 -05:00
Isaac Connor 6d4ed20745 Drop lock around openFile so that we don't hang 2020-03-04 14:14:28 -05:00
Isaac Connor 2882693791 If can't connect to db, bail instead of loading config 2020-03-04 14:13:44 -05:00
Isaac Connor 444c6fd372
Revert "Add libjwt as a optional library" 2020-03-04 13:57:27 -05:00
Isaac Connor 5443e6385b
Merge pull request #2844 from hax0kartik/2810-libjwt
Add libjwt as a optional library
2020-03-04 11:58:27 -05:00
Isaac Connor 4c7178b78b fix cpplint complaints and remove casts that are unnecessary. Micro-optimisation by using fputs for date_string instead of fprintf 2020-03-04 11:02:21 -05:00
Pliable Pixels 54c14db863 better logs 2020-03-01 14:02:44 -05:00
hax0kartik 182120343f Fix an issue while finding libjwt-gnutls and add a missing include 2020-03-01 06:17:43 -08:00
Isaac Connor 81f8f85be5 Revert "use CONCAT when updating event notes so that we don't overwrite notes set by other processes."
This reverts commit a90033e026.
2020-02-25 16:38:31 -05:00
Isaac Connor 20d1cc99f4 Merge branch 'fix_zmu_using_token_auth' 2020-02-25 14:41:01 -05:00
Isaac Connor f05dbd3b89 Fix zmu not respecting jwt token auth when AUTH_RELAY set to none 2020-02-25 14:40:47 -05:00
Isaac Connor 4798fba807 Merge branch 'use_concat_when_updating_event_notes' 2020-02-25 14:16:46 -05:00
Isaac Connor a90033e026 use CONCAT when updating event notes so that we don't overwrite notes set by other processes. 2020-02-25 14:16:30 -05:00
Isaac Connor 5ed6d36afe Merge branch 'release-1.34' 2020-02-24 14:12:21 -05:00
Isaac Connor f4521d20e0 Fix applying rotation to x264encoded video which has already been rotated. 2020-02-24 14:12:10 -05:00
Isaac Connor c1dfb8571a revert bogus code in Image(AvFrame) 2020-02-24 14:10:54 -05:00
Isaac Connor d2872becfc Only align buffers to 32bit if using a 32bit pix format. Fixes #2819 2020-02-23 18:14:17 -05:00
hax0kartik b1ce0ec0e8 Fix cmake 2020-02-23 06:18:32 -08:00
Isaac Connor d2f852b9db Merge branch 'zma_to_thread' of github.com:connortechnology/ZoneMinder into zma_to_thread 2020-02-22 18:01:00 -05:00
Isaac Connor bca4108396 Merge branch 'storageareas' into zma_to_thread 2020-02-22 17:58:30 -05:00
Isaac Connor d51fdafbc0 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2020-02-21 09:37:45 -05:00
Isaac Connor b4729f5aa8 Handle other colours and subpixel formats in Image::Image(AvFrame*) than 32bit RGBA 2020-02-21 09:34:44 -05:00
hax0kartik 46d77ee849 Add libjwt as a optional library 2020-02-20 07:55:59 -08:00
hax0kartik 1959b2e070 Add optional library jwt 2020-02-20 07:45:33 -08:00
Isaac Connor c488756eb8 Merge branch 'master' into fix_remote_http 2020-02-19 14:42:24 -05:00
Isaac Connor 4f25426b1f load event orientation as well and if it's an mp4 do the rotation on the image before outputting. Fixes #2829 2020-02-10 16:22:01 -05:00
Isaac Connor d0003215b1 Merge branch 'master' into rate_dropdown 2020-01-17 12:30:35 -05:00
Isaac Connor 9525268192 Wait 5 seconds instead of 1 after failure to connect. Reduces error logs filling up db. 2020-01-13 12:52:34 -05:00
Isaac Connor 0afcbe626c remove redundant logging line. Connect() will do the logging 2020-01-13 12:51:30 -05:00
Isaac Connor 6da998b0c0 code comments and parenthesis 2020-01-10 16:42:18 -05:00
Isaac Connor 1bdabefb2d fix single stepping in reverse but actually modifying curr_frame_id 2020-01-07 17:07:35 -05:00
Isaac Connor 1c197db619 Merge branch 'master' into rate_dropdown 2020-01-07 14:49:58 -05:00
Isaac Connor b85cf7d8a1 include error message when complaining about failing to create the hwaccell device 2020-01-07 11:03:45 -05:00
Isaac Connor fd633a2175 Merge branch 'master' of github.com:zoneminder/ZoneMinder 2020-01-05 17:28:50 -05:00
Isaac Connor 05ac82b0bb Handle failure to init hwdevice when trying to use hwaccel. 2020-01-05 17:27:45 -05:00
Isaac Connor e039b136c0 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-12-29 16:46:45 -05:00
Isaac Connor f065daf940 spacing, move some variables deeper in scope, merge fprintf calls 2019-12-29 16:46:30 -05:00
Isaac Connor b5e3dbd415 put back 32bit alignment with a comment as to why 2019-12-29 12:52:34 -05:00
Isaac Connor 2581b86195 add more content to the error message when can't sws_scale.
Also fix problem when using 32bit on arm instead of 24bit, apparently 0 is a valid return result from sws_scale.
Also change the alignment in av_image_fill_arrays. At some point we cahnged it to 32bit aligned, but in 1.32 we didn't align at all.  Not sure if it matters
.
2019-12-29 12:44:59 -05:00
Isaac Connor bbcd1846e7 Fix hang caused by using %d instead of PRIu64 in formatting string 2019-12-29 12:44:30 -05:00
Andrew Bauer 00cedc92d2 fix typo 2019-12-28 08:37:16 -06:00
Isaac Connor 16a73d6d5a don't seek back when not neccesary 2019-12-13 18:12:33 -05:00
Isaac Connor 5fcd6361bc fix segfault reading frames for .mp4 in zms 2019-12-13 17:47:18 -05:00
Isaac Connor 9972a2fd0c wip work on fixing zms mp4 to mjpeg 2019-12-02 15:51:08 -05:00
Isaac Connor 3b9b49c44d wip work on fixing zms mp4 to mjpeg 2019-12-02 15:51:03 -05:00
Isaac Connor 0947c3ef24 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-11-30 15:37:09 -05:00
Isaac Connor 927165a934 debug the recording_started timestamp and warning when we can't fine a frame before the requested time 2019-11-30 15:37:05 -05:00
Isaac Connor 09fcbad666 Merge branch 'master' into zma_to_thread 2019-11-30 14:59:39 -05:00
Isaac Connor 00b67ec352
Merge pull request #2768 from selvanair/fix-video-start
Correct video buffer length when analysis and capture fps differ
2019-11-30 14:53:22 -05:00
Isaac Connor 50986ce3b4 Merge branch 'zma_to_thread' of github.com:ConnorTechnology/ZoneMinder into zma_to_thread 2019-11-30 13:53:05 -05:00
Isaac Connor d1458108f4 Add dimensions wrong check. Add bytes count 2019-11-20 12:43:17 -05:00
Selva Nair 5260563ec4 Update frame deltas in the database to be relative to the video start time
Currenltly the frames written to database have delta time measured
from the event start time. As these deltas are also used to generate
any frame on the fly from the recorded video, these should be relative
to the video start time.

Adjust by subtracting the offset of the video start from event start.
Done when the event is closed.

If video is not stored, this has no effect.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Selva Nair dd31279ca3 Fix the recorded video start time
The event start time already includes the duration of the
pre_event frames. Do not back track the video by a further
pre_event_count.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Selva Nair 2e7fad68d1 Properly compute video buffer length when analysis fps is set
Currently the number of video frames kept in the buffer is set as the
pre_event_count. This falls short when the capture fps is larger
than the analysis fps. Fix by computing the retained video duration
as pre_event_count/analysis_fps

No change if analysis fps is not set.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2019-11-15 21:55:40 -05:00
Isaac Connor fdf5150a16 fix build on jessie 2019-11-13 13:51:22 -05:00
Isaac Connor 46991f04e6 better debugging when fail to sws_scale 2019-11-01 09:24:22 -04:00
Isaac Connor 21df2c6ac7 Always write snapshot.jpg and alarm.jpg instead of only when using video storage 2019-10-30 16:25:09 -04:00
Isaac Connor 35ae81d985 dynamically allocate next_dts and use it in write_packet to store the next dts value. write_interleaved_packet destroys the passed in packet so we need to store next_dts before writing out the packet. 2019-10-23 09:25:16 -04:00
Isaac Connor 76fd32b427 more debug, and ensure that pts != AV_NOPTS_VALUE 2019-10-22 10:01:24 -04:00
Isaac Connor dfe2f55ebe More debugging to figure out #2720 2019-10-20 13:50:24 -04:00
Isaac Connor d9d91c4a8d Fix #2728 by resetting the frame size before reading from the fifo 2019-10-20 13:32:16 -04:00
Isaac Connor 21dd9b527d when ipkt->pts is AV_NOPTS_VALUE should still set opkt.pts to AV_NOPTS_VALUE 2019-10-19 17:12:19 -04:00
Isaac Connor 7068769a90 zm_send_packet_receive_frame sends 0 as success 2019-10-18 13:52:07 -04:00
Isaac Connor 6a56de41f0 fix parameter order 2019-10-18 13:39:52 -04:00
Isaac Connor 17a7d02275 fix reversal of in_frame/out_frame in VideoStore destructor 2019-10-18 10:16:18 -04:00
Isaac Connor 60ec545683 fix compile warning due to snprintf into a too small char array 2019-10-18 09:43:25 -04:00
Isaac Connor a0f021ee12 Handle the case of flushing resampler by sending NULL 2019-10-17 17:37:36 -04:00
Isaac Connor f938fd83ac keep track of video_next_dts. Use it when packet dts is AV_NOPTS_VALUE. Also handle EAGAIN in send_packet_get_frame etc 2019-10-16 09:01:59 -04:00
Isaac Connor d03de98317 remove carriage returns in ffmpeg log lines 2019-10-16 09:00:39 -04:00
Isaac Connor 90d6e11fb9 If we try to write a packet with dts == AV_NOPTS_VALUE, set it to stream->cur_dts. This might at least give us a playable file. 2019-10-11 14:04:51 -04:00
Isaac Connor 3b586a2abe include stream index and packet queue size in debug message 2019-10-11 13:53:18 -04:00
Isaac Connor 30b5612691 fix case of sql 2019-09-28 12:57:00 -04:00
Isaac Connor 492be7cc33 make last_zoom last_scale last_x and last_y members of the StreamBase object instead of static vars so that we can access them in monitorStream 2019-09-26 13:51:49 -04:00
Isaac Connor b787682fa9 Fix play from pause when not buffering. When change of zoom, send two paused images so that response is instant. Fix some misplaced line feeds. 2019-09-26 13:51:13 -04:00
Isaac Connor 1dda79af46 remove debug 2019-09-25 12:00:00 -04:00
Isaac Connor 15a1b19b42 spaces 2019-09-23 10:53:21 -04:00
Isaac Connor 83e477e6be CaptureAndRecord in remote camera rtsp doesn't work. Remove it. 2019-09-23 10:52:57 -04:00
Isaac Connor ce37fce99c spacing 2019-09-20 08:19:57 -04:00
Isaac Connor 09533c19af Fix %d to %s 2019-09-20 08:19:44 -04:00
Isaac Connor 17e00cec94 Fix setting rtsp_transport when rtsp 2019-09-17 14:58:16 -04:00
Isaac Connor e8e29d62b2 Use dts instead of pts for first values 2019-09-17 12:53:29 -04:00
Isaac Connor 0d347f0cf5 init log early so that we create zmc_m.log instead of undef.log 2019-09-17 11:37:48 -04:00
Isaac Connor 6041616efc add string_toupper function 2019-09-17 11:37:20 -04:00
Isaac Connor 33aa6abf59 Only open log file if we are going to write to it. 2019-09-17 11:36:57 -04:00
Isaac Connor ecde0a7ae0 Add a string_toupper function 2019-09-17 11:11:22 -04:00
Isaac Connor 1a94479751 Cleanup/rework. Handle database connection failure. This can happen if we init logging before config reading. Default terminal log level to warning. Cleanup logInit copying the options in order to populate mLogPath from config. We can handle this in the constructor now. 2019-09-17 11:10:59 -04:00
Isaac Connor 9a3765f6aa spacing and google code style 2019-09-17 10:31:48 -04:00
Isaac Connor 4509c6a239 Don't set rtsp options unless we are using rtsp. Should prevent everyone from reporting the warning about unsupported options. Note that I removed some extra includs that have no business in zm_ffmpeg_camera. 2019-09-17 10:31:31 -04:00
Isaac Connor c8934dac7f Remove useless debug 2019-09-17 10:30:00 -04:00
Isaac Connor cbf9931371 Don't log about calling dbConnect when already connected. We make this call in zm_logger, it is just going to have to be acceptable to call it multiple times. 2019-09-17 10:29:30 -04:00
Isaac Connor 54c14b17d7 Spacing and google code style 2019-09-17 10:28:42 -04:00
Isaac Connor 6925a75831 codec not ready is not an error. Make it a debug 2019-09-15 18:01:38 -04:00
Isaac Connor 0a31a8dab6 Just use pts instead of tracking both first pts and first dts. Should prevent conflicts 2019-09-15 17:53:25 -04:00
Isaac Connor 675cbe8854 code style, add bytes per second read statistic and a code comment about the sleeping 2019-09-14 10:48:39 -04:00
Isaac Connor 306bda86c2 fix sws_get_delay 2019-09-13 21:28:43 -04:00
Isaac Connor eafa0da06f fixes, handle when audio codec isn't open in ffmpeg_camera 2019-09-13 16:06:25 -04:00
Isaac Connor 3a5d1ff3ca Hack in missing bits for ubuntu trusty/libav/avresample 2019-09-13 15:51:35 -04:00
Isaac Connor 5ddd20ed1a refactor code. Handle resample buffering during encoding instead of when closing file 2019-09-13 14:34:53 -04:00
Isaac Connor 701aa8d924 add flushing the resample buffer to get the remaining samples encoded 2019-09-13 10:55:30 -04:00
Isaac Connor 788b5b480b hack to make sync work on resample 2019-09-12 17:59:08 -04:00
Isaac Connor d9d4c6b4ca fix build 2019-09-12 17:26:19 -04:00
Isaac Connor 0a8aba2b76 rework how pts/dts is handled. We still use video_first_pts, but if the result is negative, normalize it to 0. Also now use audio_next_pts/dts to calculate pts when resampling and re-encoding. I believe this resolves the issues with wrong duration in the audio stream. 2019-09-12 16:52:59 -04:00
Isaac Connor 8fb55cdbff Add codec name to zm_dump_codec and zm_dump_codecpar add new functions zm_receive_packet 2019-09-12 16:51:33 -04:00
Isaac Connor 6c6b2d7c6f Fix build 2019-09-09 17:10:40 -04:00
Isaac Connor 097ce5e778 add const to cast 2019-09-09 17:09:01 -04:00
Isaac Connor 792af28c54 return a value from write_packet 2019-09-09 16:55:22 -04:00
Isaac Connor d5aa95e45f cpplint fixes 2019-09-09 16:13:32 -04:00
Isaac Connor d5d4d9d19b ret should be a heap var, not a member of the object. Somehow this also seems to fix crashing on debian buster. I assume the compiler is confused 2019-09-08 16:10:57 -04:00
Isaac Connor 8215fe1c0f Some versions off avcodec libs have pkt_pts and pkt_dts but they have been deprecated and weren't of any use anyways 2019-09-08 16:10:20 -04:00
Isaac Connor 85e0a086b3 fixes #2694 2019-09-03 11:55:37 -04:00
Isaac Connor c80ef0e0ab spacing 2019-08-28 12:20:03 -04:00
Isaac Connor bd3395ac98 introduce VideoStore::write_packet to refactor out duplicated code. Add the ability to receive multiple packets from audio encoder per input packet 2019-08-28 12:19:54 -04:00
Isaac Connor efb8711c02 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-08-28 11:43:59 -04:00
Isaac Connor 5f0080ef92 Fix crash when using auth_relay=none 2019-08-28 10:34:30 -04:00
Isaac Connor 64d024b0c0 Fix spacing 2019-08-28 10:33:18 -04:00
Isaac Connor 505a041c88 Don't add a final db frame to the event, because there is no jpg for the frame. I don't know why this code was originally added. 2019-08-28 10:17:23 -04:00
Isaac Connor 59940ab675 report pixformat names instead of just #'s on error 2019-08-28 09:19:57 -04:00
Isaac Connor 39620c01ff Add rescaling of pkt pts/dts from audio_out_ctx to audio_out_stream 2019-08-26 16:37:32 -04:00
Isaac Connor b26ed9bf62 Yet more debugging. Also, move pts adjustment to before audio encoding 2019-08-26 16:17:45 -04:00
Isaac Connor 2fe9442257 Fix time_base conversion when flushing audio queue. Add more debugging. COrrect pkt_Duration when resampling audio 2019-08-23 18:17:26 -04:00
Isaac Connor 396be10d6f Merge branch 'master' into zma_to_thread 2019-08-22 12:57:00 -04:00
Isaac Connor 886a203bf1 Support hwaccel for non-passthrough case as well 2019-08-21 10:11:58 -04:00
Isaac Connor 01e988ffba remove some redundant debugs. Improve some messages 2019-08-20 14:09:47 -04:00
Isaac Connor 4a82ce83a7 quit a bit earlier when stream is broken. 2019-08-20 11:13:38 -04:00
Isaac Connor ed190340b9 fix typo 2019-08-19 11:12:47 -04:00
Isaac Connor 369dd03909 remove errant i 2019-08-18 21:32:19 -04:00
Isaac Connor 503cf6cd24 More backticking of SQL 2019-08-17 14:37:19 -04:00
Isaac Connor efa264e0c7 Fix playing in reverse. Fix not sending first frame. Fix sql problem with backticks. Not being able to open a frame image is now non-fatal. 2019-08-16 10:24:51 -04:00
Isaac Connor c7b6db9be7 Put backticks around all columns and tables in sql to deal with mysql 8 2019-08-14 16:18:21 -04:00
Isaac Connor c1984ad7cb Fix problem calculating mem_size using an int from ImageSize. With camera resolutions going up, width*height*colour could exceed 32bits. So use a guarnteed 53bit type, which fixes the memsize calculations. Fixes #2682 2019-08-11 20:21:37 -04:00
Isaac Connor 5b62c91cc2 Improve some debugging to try to diagnose recent segfault report 2019-08-10 14:46:05 -04:00
Isaac Connor 0cdb43e165 make dump_video_frame a define instead of a function, fix linesize 2019-08-10 14:45:45 -04:00
Isaac Connor bb6d2631c9 Fix hwaccel compile on pi 2019-08-08 09:26:40 -04:00
Isaac Connor 6a9464044b Demote warnings about fixing non-monotonic dts to debug 2019-08-02 08:03:02 -04:00
Isaac Connor 14ed777eeb fix segfault when debbing is turned on for zma 2019-07-31 17:17:54 -04:00
Isaac Connor 90cb5d018a
Fix 2673 (#2675)
* Change MaxFPS to DECIMAL(5,3) to handle values like 1/60 = 0.017

* When fps < 1 we may need to wait longer than 10s.  Also, we cannot sleep for a long time, because we may need to send a keep alive or check the command queue. So limit the sleep to 1s

* Bump version

* Update MaxFPS to Decimal(5,3)

* Fix missing ;
2019-07-31 11:42:38 -04:00
Isaac Connor 48ad8d47fc Add capture_max_fps to monitor object instead of just calculating the delay. 2019-07-31 11:23:02 -04:00
Isaac Connor 4b89ced889 Warn about waiting more than .5s instead of .1 2019-07-26 12:24:36 -04:00
Isaac Connor e5c194e9ee Fix return 403 status code 2019-07-26 12:22:04 -04:00
Isaac Connor 09934ed7f5 Fix sendTextFrame 2019-07-26 12:21:25 -04:00
Isaac Connor 3da12fd141 Add a bunch of debugging 2019-07-26 12:21:15 -04:00
Isaac Connor 0643108ba4 Use fputs instead of fprintf. Spacing and google code style changes 2019-07-26 10:53:48 -04:00
Isaac Connor 1e0c39c632 mostly spacing cleanups. Don't bother setting pkt_duration on resampled frame 2019-07-19 16:28:18 -04:00
Isaac Connor 9a31f8792c return proper error codes when failed auth or fail permissions 2019-07-19 13:55:35 -04:00
Isaac Connor f3166663a5 unref hw_device_ctx on Close. I think this should release all the other hwaccel related stuff 2019-07-19 12:51:31 -04:00
Isaac Connor fcee031785 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-07-17 21:10:46 -04:00
Isaac Connor 542d88b6a4 fix compile without HWCONTEXT 2019-07-17 21:10:24 -04:00
Pliable Pixels a9d01ba3d2 Alarm api (#2665)
* fixed alarm api to use tokens if present

* clearer debug logs for tokens

* space
2019-07-17 20:38:58 -04:00
Pliable Pixels 2b7610a5ac fixed ffmpeg log association to zm log levels (#2664) 2019-07-17 20:37:27 -04:00
Isaac Connor 75af397223 hwFrame isn't defined unless we have HWCONTEXT_H 2019-07-17 20:33:23 -04:00
Isaac Connor 34c141304d Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-07-17 10:07:29 -04:00
Isaac Connor ef9fe2dbd6 Free up hwFrame, preventing memleak 2019-07-17 10:06:30 -04:00
Pliable Pixels 67168a2387 demote token log (#2663) 2019-07-12 14:31:39 -04:00
Isaac Connor 05be9008c7 use FFMPEGInit to initialise ffmpeg instead of doing it ourselves 2019-07-11 17:57:11 -04:00
Isaac Connor 13c91bdf60 Add pts adjustment to the delayed flushed encoder packets 2019-07-11 17:56:53 -04:00
Isaac Connor 288f2f3e8f Convert zm_dump_frame from a function to a define, this way we get line #'s from where we call zm_dump_frame instead of from the line in zm_ffmpeg where the function was. 2019-07-11 17:56:22 -04:00
Isaac Connor 94cc85aa36 Sorta fix pts on encoded audio packets. Sync is off, but at least it is close 2019-07-07 08:57:22 -04:00
Isaac Connor 0f35d86efb implement zm_send_frame which sends a frame and receives a packet 2019-07-07 08:56:39 -04:00
Isaac Connor 726e5c6dd5 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-07-03 09:50:49 -04:00
Isaac Connor a9579484b8 gracefully handle failure to config hw pix fmt and debug a bit more 2019-07-03 09:49:53 -04:00
Isaac Connor 5ea5bd9bde Only do audio_first_pts if we have audio_in_stream 2019-07-02 12:26:33 -04:00
Isaac Connor 4e8ac47060 Use the video_first_pts to set the audio_first_pts 2019-07-02 11:58:22 -04:00
Isaac Connor 2dc60196c5 Code cleanup and cpplint 2019-07-02 11:14:24 -04:00
Isaac Connor 268bc2264b Merge branch 'storageareas' 2019-07-02 10:19:03 -04:00
Isaac Connor d972ab6006 add min_section_length test to alarmed events that go unalarmed 2019-06-27 21:50:12 -04:00
Isaac Connor 0ab4f9fce0 More debugging in packetqueue. 2019-06-27 21:49:43 -04:00
Isaac Connor 3bd4486b65 Start event when alarm frames >= alarm_frame_count-1 because it is 1based. Add some debug. 2019-06-27 15:48:10 -04:00
Isaac Connor ac7d4869de We need to seek back pre_event_count video frames, not any frames 2019-06-27 15:36:13 -04:00
Daniel Schaefer 158b9438d7 Explicitly link with libdl (#2649)
Otherwise on some systems linking would fail with

  undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
2019-06-27 15:08:29 -04:00
Isaac Connor dd57fd95ce Clean up cruft from videostore api. Fix packetqueue clear_unwanted_packets to take a pre_event_count and take it into consideration when finding the right spot in the queue to start recording. 2019-06-27 11:11:14 -04:00
Isaac Connor 6ed29a3d56 Google code style, ifdef out all the extra includs that shouldn't be in the .h 2019-06-27 10:29:47 -04:00
Isaac Connor 6a87ae0fa7 fix compile warning by copying two bytes, which will grab the \0 after the \n 2019-06-27 10:24:51 -04:00
Isaac Connor 763fe16a04 Google code style, merge some fprintf's 2019-06-27 10:20:23 -04:00
Isaac Connor 0686f487ac %s => %d for error count 2019-06-27 04:18:25 -04:00
Isaac Connor d26286a170 fix test for hwtransfer needed 2019-06-27 03:40:18 -04:00
Isaac Connor 2a65b339c1 init hw_pix_fmt in constructor 2019-06-25 22:19:09 -04:00
Isaac Connor 86e8b58561 move hw_device_ctx under ifdef for HWCONTEXT_H 2019-06-25 22:06:00 -04:00
Isaac Connor 7389bbcb25 better debug in selecting hw_format, add CUDA, add setting device for hwaccel 2019-06-25 21:47:19 -04:00
Isaac Connor a44631a59d rough in support for ffmpeg 3.4 2019-06-25 16:35:07 -04:00
Isaac Connor 5ab4414b11 Only include hwaccel support if LIBAVUTIL_HWCONTEXT_H is deifned 2019-06-25 15:58:55 -04:00
Isaac Connor 679b6b1b2d remove old qsv code 2019-06-25 15:47:23 -04:00
Isaac Connor 46f3aabc25 Merge branch 'hwdecode' into storageareas 2019-06-25 15:35:56 -04:00
Isaac Connor 86c4051c44 handle zm_receive_frame returning AVERROR instead of boolean 2019-06-25 15:34:36 -04:00
Isaac Connor 434bbce954 Add loading decoder_hwaccel in Monitor 2019-06-25 15:34:17 -04:00
Isaac Connor d0abd16494 add passing hwaccel name and device. use av_make_error_string(ret).c_str() to reduce code and increase consistency 2019-06-25 15:34:01 -04:00
Isaac Connor cf7f3e8a88 add passing hwaccel name and device. use av_make_error_string(ret).c_str() to reduce code and increase consistency 2019-06-25 15:33:54 -04:00
Isaac Connor 6a87d9a875 change zm_receive_frame to return AVERROR instead of boolean 2019-06-25 15:32:47 -04:00
Isaac Connor 2cbcaeebbc clean out old hwdecode stuff. refactor common code out 2019-06-25 14:11:59 -04:00
Isaac Connor bfb7238edb Merge branch 'master' into hwdecode 2019-06-25 09:09:57 -04:00
Isaac Connor c3135accbb Make events close on a section length time boundary only if event_close_mode == CLOSE_TIME. When an alarm happens in event_close_mode==ALARM, close the continuous event regardless of the # of pre-event frames in the event. Add some debugging 2019-06-24 21:11:52 -04:00
Isaac Connor 246b4cb9d1 working hwdecode 2019-06-24 17:22:59 -04:00
Isaac Connor 2d80283844 simplify some logic in Analyze and prevent segfault when we close continuous event to start alarm event 2019-06-24 13:13:46 -04:00
Isaac Connor 9a353d0b6d don't set frame size 2019-06-24 11:44:21 -04:00
Isaac Connor 44e4d93445 Merge branch 'master' into storageareas 2019-06-24 11:35:36 -04:00
Isaac Connor 6ed0074077
End continuous events on alarm (#2644)
* Reference /run/zm instead of /var/run/zm because systemd-tmpfiles complains about it

* Spacing, google code style and tabs to spaces

* add update script to add MinSectionLength

* Add min_section_length to enforce a minimum event length when closing continuous events on alarm
2019-06-24 11:29:00 -04:00
Pliable Pixels 299f994506 Fix zmcrypt message (#2645)
* added more clarity on zm_crypt authentication errors

* fixed variable name
2019-06-24 11:28:32 -04:00
Isaac Connor dab9544845
Revert audio sync fixes (#2646)
* Reference /run/zm instead of /var/run/zm because systemd-tmpfiles complains about it

* Spacing, google code style and tabs to spaces

* Revert the work I did to srt packets by dts after changing their time_base.  It doesn't work.  Instead since dts doesn't actually matter to playback, only ffmpeg storing, munge it to whatever is neccessary to make ffmpeg happy.
2019-06-24 11:27:47 -04:00
Isaac Connor 9713d908fb Spacing, google code style and tabs to spaces 2019-06-24 10:28:11 -04:00
Andrew Bauer 00183b535a rename bcrypt to libbcrypt to reflect name of the project 2019-06-23 12:56:04 -05:00
Andrew Bauer 8b37c0e9b0 remove bcrypt & jwt-cpp as submodules, bring in statically under src 2019-06-23 12:12:12 -05:00
Isaac Connor 55d98e4a9f fix crash 2019-06-20 15:56:25 -04:00
Isaac Connor 470da03322 Merge sync fixes from storageareas 2019-06-20 15:14:20 -04:00
Isaac Connor f6960726b8 Don't check cause.length because we know it hasn't been used yet. check event_close_mode before closing the continuous unalarmed event 2019-06-20 15:12:32 -04:00
Isaac Connor 4c8b8d0c16 Only check pts vs dts if pts isn't AV_NOPTS_VALUE. Also set frame_size in output codec when doing passthrough 2019-06-20 15:09:30 -04:00
Isaac Connor 8b95ba8b3c it is ok for pts to be AV_NOPT_VALUE. It is not yet deprecated and doesn't mess anything up. 2019-06-20 15:08:38 -04:00
Isaac Connor 540a114c4b spacing google code style 2019-06-19 10:31:53 -04:00
Isaac Connor cc35e3f187 add dumpQueue to packetqueue to print out the contents 2019-06-19 09:51:06 -04:00
Isaac Connor 16b035f76c Use common first_dts/pts instead of separate video and audio first pts/dts 2019-06-19 09:22:21 -04:00
Isaac Connor 9727d0ed9f spaces 2019-06-19 09:22:21 -04:00
Isaac Connor 847cd9f347 Print out an error when a monitor is in MONITOR mode because we can't handle alarms. Allow signals to terminate zmu by checking zm_terminate. 2019-06-19 09:22:21 -04:00
Isaac Connor 33951ae584 Print out an error when a monitor is in MONITOR mode because we can't handle alarms. Allow signals to terminate zmu by checking zm_terminate. 2019-06-19 08:36:37 -04:00
Isaac Connor 695bdfc1c6 big ::Analyze logic cleanup. Also implement close continuous event before starting motion event in MOCORD 2019-06-13 15:48:41 -04:00
Isaac Connor b073505146 If either pts or dts is AV_NOPTS_VALUE then set equal to the other 2019-06-13 15:47:58 -04:00
Isaac Connor 30a210f68f also need to adjust dts of last packet when switching events 2019-06-12 10:05:08 -04:00
Isaac Connor 222f145230 Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2019-06-11 13:56:13 -04:00
Isaac Connor 0a9ae1d4f9 Include pixdesc.h to get av_get_pix_fmt_name(AVPixelFormat) 2019-06-11 13:55:57 -04:00
Isaac Connor acb95709e6 Fix issues with too much audio in events by storing packets in the queue with their timestamps converted to AV_TIME_BASE_Q, so that we can sort video and audio packets together. 2019-06-11 10:19:42 -04:00
Isaac Connor ee80b086af log the # of db entries being written before doing the writing so that we know the # being written 2019-06-10 14:13:21 -04:00
Isaac Connor 50436c5ea1 Correct debug line listing how many frames are being written to db 2019-06-10 13:59:01 -04:00
Isaac Connor ebc9a77c9d When saving jpegs, do a db write on the first frame. Fix test for writing frame info to db. Because we increment frames, it is essentially 1-based. So the test needs to be ==1 instead of ! 2019-06-10 12:57:57 -04:00
Isaac Connor a16d29740c Fix final frame of event having same id as the second last 2019-06-06 13:49:01 -04:00
Isaac Connor 4b8a2a94e3 reduce frame send time too slow to a warning instead of error 2019-06-05 10:12:56 -04:00
Gleb Popov 1d132b5923 When writing MP4 sample, save buffer.size() into a temporary variable before calling buffer.extract(). (#2628) 2019-06-01 16:43:29 -04:00
Isaac Connor 7b06f58559 Limit Connection error logs to every 10 minutes instead of every 10 seconds. Connection attempts still happen at 10 second intervals 2019-05-27 17:16:23 -04:00
Isaac Connor 049b70a624 junk bad code in zm_eventstream that tried to figure out how long to sleep by considering the wall clock time since play start. No good as soon as we seek. 2019-05-27 17:15:46 -04:00
Isaac Connor c44967f770 fix push to push_front 2019-05-27 12:47:38 -04:00
Isaac Connor 663f941963 If we can't find a packet before ours in the queue, then stick it at the front of the queue, not the end. 2019-05-27 12:31:18 -04:00
Isaac Connor 8b4fddadfb out_frame->pts is calculated in resample_audio 2019-05-27 12:29:29 -04:00
Isaac Connor 67b8ca8bfb Fix superfast playback after replay 2019-05-24 13:45:48 -04:00
Isaac Connor 0a8b7c24db don't check for alarmed zones to record stats for unless we are alarmed 2019-05-24 10:52:31 -04:00
Isaac Connor 93aeceecfc Merge branch 'crypt-replacement' of https://github.com/pliablepixels/ZoneMinder into pliablepixels-crypt-replacement 2019-05-17 10:18:15 -04:00
Isaac Connor 3888d140a8 Merge branch 'master' into storageareas 2019-05-17 10:16:29 -04:00
Pliable Pixels 06eb9a3bb2 merge typo 2019-05-16 16:15:16 -04:00
Pliable Pixels 915e9f05a9 merged fifo changes 2019-05-16 16:14:06 -04:00
Mitch Capper eb005e8b9c FIFO support for zoneminder zone debugging (#2594)
Adds fifo options for diagnostic images for much lower impact diagnostics mode.  Diagnostic images are only written when there is a client listening for them (otherwise they are skipped).  Also added a json stream for the detection data so you can see in real time the pixels or blobs detected for the motion.  This allows for easy real time stream of both delta and reference images (as video streams) along with the detection numbers.
2019-05-16 15:37:03 -04:00
Isaac Connor 4f44db8cbf
ifdef HAVE_ZLIB_H around code that uses Image->Zip (#2597) 2019-05-16 15:35:19 -04:00
Isaac Connor c257fb46f6 Merge branch 'storageareas' of github.com:connortechnology/zoneminder into storageareas 2019-05-13 10:34:45 -04:00
Isaac Connor 74095963cc Merge branch 'master' into storageareas 2019-05-12 19:39:09 -04:00
Pliable Pixels 21710b6e49 demote logs 2019-05-12 15:45:39 -04:00
Pliable Pixels cc0d23ce4e move token index after adding password 2019-05-12 15:01:49 -04:00
Pliable Pixels 9a8aa5453b add Password back so User object indexes don't change 2019-05-12 14:48:23 -04:00
Isaac Connor 22c5d46c65 rescale audio packet duration and pts before feeding to codec after resample 2019-05-12 12:14:03 -04:00
Isaac Connor d7daf8550f Merge branch 'master' into storageareas 2019-05-12 09:37:41 -04:00
Isaac Connor 453bc2afd8 more frame dumping in resample 2019-05-12 09:36:26 -04:00
Isaac Connor aada171440 clean up some logic in Analyse 2019-05-12 09:35:48 -04:00
Pliable Pixels 8499958767 typo 2019-05-12 05:57:17 -04:00
Pliable Pixels 225893fcd6 add mintokenexpiry to DB seek 2019-05-12 05:50:19 -04:00
Pliable Pixels 1f22c38453 more fixes 2019-05-12 05:10:20 -04:00
Pliable Pixels 6ab31dfe4b more fixes 2019-05-12 05:03:16 -04:00
Pliable Pixels 3e66be27a8 use strtoul for conversion 2019-05-11 16:09:42 -04:00
Pliable Pixels 053e57af62 use strtoul for conversion 2019-05-11 16:01:05 -04:00
Pliable Pixels 96fa6149a8 use strtoul for conversion 2019-05-11 15:58:07 -04:00
Pliable Pixels ae14be916c initial plumbing to introduce token expiry and API bans per user 2019-05-11 13:39:40 -04:00
Isaac Connor 67c20aa976 fix frame->duration to frame->pkt_duration 2019-05-10 12:58:54 -04:00
Isaac Connor d3a680aaa3 Set out_frame duration when resampling. Better error message if failed to write to fifo 2019-05-10 12:31:10 -04:00
Pliable Pixels 8461852e27 move out sha header 2019-05-08 19:32:58 -04:00
Pliable Pixels 0bb5ff934e move sha headers out 2019-05-08 19:17:31 -04:00
Pliable Pixels 4ab0c35962 move JWT/Bcrypt inside zm_crypt 2019-05-08 16:45:28 -04:00
Pliable Pixels 2212244882 fix absolute path 2019-05-08 15:47:38 -04:00
Pliable Pixels c41a2d067c fixed type conversion 2019-05-08 14:29:44 -04:00
Pliable Pixels bc050fe330 support refresh tokens as well for increased security 2019-05-08 13:38:42 -04:00
Pliable Pixels 27e6e46f84 remove allowing auth_hash_ip for token 2019-05-08 12:11:32 -04:00
Pliable Pixels 3c6d0131ff fix db read, forgot to exec query 2019-05-08 12:06:37 -04:00
Pliable Pixels 04c3bebef9 exception handling for try/catch 2019-05-08 11:44:15 -04:00
Pliable Pixels 3a67217972 move decode inside try/catch 2019-05-08 11:29:34 -04:00
Pliable Pixels bb18c305ab add token to command line for zmu 2019-05-08 11:08:27 -04:00
Pliable Pixels b293592e4c added token validation to zms/zmu/zmuser 2019-05-08 10:55:32 -04:00
Isaac Connor 4c8a29e8d3 Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas 2019-05-08 06:06:28 -04:00
Isaac Connor 3a7b49560a spacing 2019-05-06 12:16:06 -04:00
Isaac Connor 9469ce8c71 Merge branch 'section_length_when_modect' into storageareas 2019-05-06 10:50:41 -04:00
Isaac Connor 9ef912f2ba add missing new event status info 2019-05-06 10:50:12 -04:00
Pliable Pixels 4c8d20db64 typo 2019-05-04 15:27:00 -04:00
Pliable Pixels 983e050fd7 fixed SHA1 algo 2019-05-04 15:20:31 -04:00
Pliable Pixels d952fe7117 Moved to openSSL SHA1, initial JWT plugin 2019-05-04 11:52:53 -04:00
Isaac Connor 50070a9a7c Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas 2019-05-03 14:59:14 -04:00
Isaac Connor 1e08b333b4 choose cur_dts instead of 0 for dts 2019-05-03 14:59:09 -04:00
Isaac Connor 4ecf41f2b4 Merge branch 'sort_packets' into storageareas 2019-05-03 14:58:34 -04:00
Isaac Connor c91da4a7f5 if no packet found, still append to end 2019-05-03 14:58:29 -04:00
Isaac Connor 21999cf943 Merge branch 'sort_packets' into storageareas 2019-05-03 13:48:23 -04:00
Isaac Connor aec8311deb implement sorting incoming packets in the packetqueue 2019-05-03 13:48:05 -04:00
Pliable Pixels ca2e7ea97c logs tweak 2019-05-03 12:01:13 -04:00
Pliable Pixels 72325d12b7 move to wrapper 2019-05-03 11:40:35 -04:00
Isaac Connor 63a970d49f Merge branch 'fix_no_zlib' into storageareas 2019-05-03 09:42:06 -04:00
Isaac Connor aaf4665909 Merge branch 'section_length_when_modect' into storageareas 2019-05-03 09:41:41 -04:00
Isaac Connor f6b6daafab close and reopen event when we hit section_length 2019-05-03 09:41:29 -04:00
Isaac Connor fee95c2316 ifdef HAVE_ZLIB_H around code that uses Image->Zip 2019-05-03 09:04:31 -04:00
Pliable Pixels 45b7814124 absolute path 2019-05-01 14:33:36 -04:00
Pliable Pixels 65a57feedb absolute path 2019-05-01 14:30:00 -04:00
Pliable Pixels c663246f0a try add_library instead 2019-05-01 14:22:10 -04:00
Pliable Pixels ca24b504d4 fixed typo 2019-05-01 13:46:54 -04:00
Pliable Pixels 8bbddadc12 put link_dir ahead of add_executable 2019-05-01 13:43:41 -04:00
Pliable Pixels 07be830f94 added bcrypt to others 2019-05-01 13:35:18 -04:00
Pliable Pixels dd63fe86ce add sha source 2019-05-01 13:28:39 -04:00
Pliable Pixels ddb7752226 added include path 2019-05-01 13:24:50 -04:00
Pliable Pixels 1ba1bf0c45 added test sha1 and bcrypt code to validate working 2019-05-01 13:18:51 -04:00
Pliable Pixels c4b1bc19e0 added bcrypt and sha to src build process 2019-05-01 13:15:07 -04:00
Isaac Connor 25614bb75e Merge branch 'master' into storageareas 2019-05-01 08:57:20 -04:00
Isaac Connor 847d4c5e80 Merge branch 'master' of github.com:/ZoneMinder/ZoneMinder 2019-04-29 12:50:31 -04:00
Isaac Connor 28269eccc3 Fix Remote RTSP Method on newer ffmpeg 2019-04-28 12:05:32 -04:00
Isaac Connor 626342f00e Merge branch 'master' into storageareas 2019-04-26 10:44:00 -04:00
Isaac Connor c4fb2cc407 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-04-25 18:45:54 -04:00
Isaac Connor 18285e1b94 fix using in_frame->nb_samples instead of out_frame->nb_samples in resample fifo. 2019-04-25 18:45:43 -04:00
Isaac Connor 8bbcf0f631 merge storageareas 2019-04-25 14:49:16 -04:00
Isaac Connor 077ad75516 Merge branch 'storageareas' into origin/zma_to_thread 2019-04-25 12:41:48 -04:00
Pliable Pixels ea7c38ceff Alarm cause fix (#2582)
* move alarm cause code to when the alarm flag is set

* formatting

* added temp info log

* char* not string in log

* merged alarm clause into info message about alarm

* add a comma only if there are more active zones

* JB tweak to slightly optimize leading comma processing
2019-04-24 13:55:57 -04:00
Isaac Connor eb76cd87bb
Revert "Alarm cause fix (#2580)" (#2581)
This reverts commit 6923382485.
2019-04-17 13:53:11 -04:00
Pliable Pixels 6923382485 Alarm cause fix (#2580)
* move alarm cause code to when the alarm flag is set

* formatting

* added temp info log

* char* not string in log
2019-04-17 13:33:38 -04:00
Isaac Connor 70ed4a4646 Must unlock mutex before destructor as we do some logging in the mutex destructor when we destroy it while locked. 2019-04-16 11:51:10 -04:00
Isaac Connor 22adb243ec Fix crash when reporting an event longer than section length when event was just closed so event is null. 2019-04-16 11:50:41 -04:00
Isaac Connor 2ff1e7ed6d Fix crash when reporting an event longer than section length when event was just closed so event is null. 2019-04-16 11:30:18 -04:00
Isaac Connor 98a9c68b8b spacing and code documentation 2019-04-15 17:54:30 -04:00
Isaac Connor 293ec20824 Must unlock mutex before destructor as we do some logging in the mutex destructor when we destroy it while locked. 2019-04-15 17:54:17 -04:00
Isaac Connor 3664084862 Handle out of order dts in writeAudioFrame 2019-04-15 13:27:13 -04:00
Isaac Connor f28af7b729 store diag_path in the object and initialize them in constructor instead of constantly checking to see if they have been initialized in DetectMotion. Also use a string instead of a static char[MAX_PATH]. Also split it into diag_path_r and diag_path_d to fix the bug that only diag_path_r would ever get created and would be overwritten by the delta image. 2019-04-15 13:26:55 -04:00
Isaac Connor 93f0a03d8b spacing and code comments 2019-04-15 12:55:28 -04:00
Isaac Connor 7c8b37e08c fix mutex hang on Fatal 2019-04-15 11:21:23 -04:00
Isaac Connor 96b7d30d7d Merge branch 'master' into zma_to_thread 2019-04-15 10:47:26 -04:00
Isaac Connor 439a7b3ab3 Don't set bitrate, etc when h264. Causing crashes in ffmpeg 4.11. 2019-04-14 13:50:10 -04:00
Isaac Connor 69f812f5cc force section end when seconds % section_length == 0 which is the old behaviour. 2019-04-09 19:42:24 -04:00
Isaac Connor 7671f59d2f Add error counting on decoding 2019-04-09 12:27:40 -04:00
Isaac Connor fab548b119 Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2019-04-08 16:46:28 -04:00
Isaac Connor 1b98f3529f allow non-increasing dts in muxer 2019-04-08 14:18:59 -04:00
Isaac Connor 7f2440177b remove duplicate dump_codec 2019-04-08 13:51:55 -04:00
Isaac Connor accaeadb18 code cleanup. dump_codecs 2019-04-08 13:51:41 -04:00
Isaac Connor e81c216b4a add more fields in dump_codec. 2019-04-08 13:51:13 -04:00
Isaac Connor 3c57d79669 Go back to using video_first_dts 2019-04-08 10:04:26 -04:00
Isaac Connor f719dd9acc always commit buffered db_frames when we have a new max score image or alarm cause image 2019-04-07 10:29:02 -04:00
Isaac Connor 9faaba9300 Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2019-04-05 15:18:39 -04:00
Isaac Connor 9ae6acf532 Fix for opening audio_in_codec 2019-04-04 17:20:21 -04:00
Isaac Connor d97dd6cdd9 Should close videostore before closing input codecs/streams. 2019-04-04 14:11:56 -04:00
Isaac Connor 7955a1c9b2 fix version check to get rid of deprecated av_register_all 2019-04-04 12:56:00 -04:00
Isaac Connor bc62493096 Increase sql buffer space because we are using path strings that are PATH_MAX size. 2019-04-04 12:55:35 -04:00
Isaac Connor f6d5038586 we only use event_file if we are writing out a jpg, so only generate the event_file string if we are writing out jpgs 2019-04-04 12:37:25 -04:00
Isaac Connor 271937f005 store the snapshot_file and alarm_file strings in the boject during construction so that we don't have to do it everytime we write out an image 2019-04-04 12:28:08 -04:00
Isaac Connor f3d0c4e643 Merge branch 'master' of github.com:zoneminder/ZoneMinder 2019-04-04 09:37:13 -04:00
Isaac Connor 8de7d576a5 spacing and use Error instead of fprintf(stderr) so that things get logged. 2019-04-04 09:35:37 -04:00
Isaac Connor 8d3fa807e2 compilation fixes for old ffmpeg 2019-04-03 16:51:41 -04:00
Isaac Connor 12631abd46 when copying a packet (for old ffmpeg) copy pts, dts and duration too 2019-04-03 16:51:27 -04:00
Isaac Connor 94479fc850 copy pkt flags as well. When pts is NOPTS_VALUE set it to zero 2019-04-03 16:03:21 -04:00
Isaac Connor 055efdc950 Merge branch 'master' of github.com:ConnorTechnology/ZoneMinder 2019-04-03 14:56:18 -04:00
Isaac Connor bd9b5afe46 old ffmpeg doesn't have av_frame_unref and it doesn't seem to be needed 2019-04-03 14:56:14 -04:00
Isaac Connor 2e7fd7c9a2 handle really old ffmpeg not having pkt_duration 2019-04-03 14:55:29 -04:00
Isaac Connor b53e4aa803 fix segfault 2019-04-03 14:51:10 -04:00
Isaac Connor b6f35db4de put back codec closing in destructure, testing with bionic 2019-04-03 14:25:18 -04:00
Isaac Connor aece64049f We cannot avcodec_open2 a context that has been duped. This code currently works without crashes and leaks on ffmpeg 2.8 2019-04-03 13:23:00 -04:00
Isaac Connor f78e95f5d4 add is_video_context and is_audio_context and use them in zm_revceive_frame to add audio decoding support 2019-04-03 13:21:52 -04:00
Isaac Connor bd412fa9ca Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2019-04-02 14:25:50 -04:00
Isaac Connor 036560e3e9 Allow packets with pts=AV_NOPTS_VALUE 2019-04-02 14:23:49 -04:00
Isaac Connor cd28559c03 when encoding audio, pts and dts have to come from the encoder. 2019-04-02 14:08:46 -04:00
Isaac Connor 87cb716500 Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2019-04-01 14:02:46 -04:00
Isaac Connor cb33318c4a fix invalid memory access due to incorrect opening/closing/copying of contexts 2019-04-01 14:02:39 -04:00
Isaac Connor a6998cbc9e Use FFMPEGDeInit instead of avformat_network_deinit 2019-04-01 13:39:11 -04:00
Isaac Connor c9985107ee Add a deinit function to handle avformat_network_deinit 2019-04-01 13:38:13 -04:00
Isaac Connor ed5a448a1d Correct pts on audio frame before sending it to the encoder so that when we flush the encoder the resulting packets have the right pts. 2019-04-01 11:13:14 -04:00
Isaac Connor 90e97ff135 Merge branch 'master' into storageareas 2019-03-28 11:20:29 -04:00
Isaac Connor e6547953b0 fix segfault using old ffmpeg 2019-03-28 09:24:32 -04:00
Isaac Connor acb9070b04 Add a warning when an event exceeds section length 2019-03-25 12:33:30 -04:00