Commit Graph

4466 Commits

Author SHA1 Message Date
Isaac Connor ddb62a27c6 Fix queue full message. Remove test for empty queue. We don't care if the queue is empty. Improve debug logging. 2021-03-31 16:49:19 -04:00
Isaac Connor fd23b3e284 Adjust debug levels 2021-03-31 16:49:19 -04:00
Isaac Connor c73393579d Handle event creation failing gracefullyish 2021-03-31 12:06:33 -04:00
Isaac Connor eed6a57800 remove unused member sd 2021-03-31 12:06:14 -04:00
Isaac Connor 9b4eee02d8 Make sure id is initialized to 0 so that we can test if event creation worked 2021-03-31 12:06:03 -04:00
Isaac Connor 4fb73505b9 backport change to not initialize db in logger which fixes small memleak. 2021-03-31 12:05:30 -04:00
Isaac Connor a1364a2b2b delete packet_lock if failed trylock 2021-03-30 16:14:42 -04:00
Isaac Connor 649f7906de Need to track locked status so that if we fail a trylock we remember it and don't try to unlock later 2021-03-30 16:14:42 -04:00
Isaac Connor e92dcf1457 Add special case for older ffmpeg that has different AV_CODEC define numbers 2021-03-30 14:28:40 -04:00
Isaac Connor c7754e5be8 Default to port 5900 2021-03-30 11:37:00 -04:00
Isaac Connor 8c6f03a4e4 Move waiting for decoding down into motion detection section. Add a test for successful decode. Decode may not provide an image. 2021-03-30 09:16:45 -04:00
Isaac Connor 3202db1b33 Move waiting for decoding down into motion detection part, which is what needs it. Not sure why it was up so high. This should allow more ram freeing for people with analysis fps set to something. 2021-03-30 09:16:44 -04:00
Isaac Connor 0bfbdd6121 Use our new CODEC define to cleanup the code 2021-03-30 09:15:28 -04:00
Isaac Connor d3ed11cc5b add a simple define to make codec/codecpar access easier 2021-03-30 09:15:28 -04:00
Isaac Connor 1c7ae103ea receiving a signal is not a reason to fail a capture. It is a reason to retry 2021-03-29 18:01:10 -04:00
Isaac Connor 0a364f3b80 fix weird logic in ReadData 2021-03-29 11:54:55 -04:00
Isaac Connor 6c428c0156 Properly print out timeval 2021-03-29 09:58:09 -04:00
Isaac Connor 9463cf8565 I can't imagine what fps_report_interval has to do with event being longer than section_length. Use analysis_image_count in log 2021-03-29 09:57:57 -04:00
pmccarty e3349c54fa Fix logic to detect libvnc shared library. 2021-03-27 10:58:30 -04:00
Isaac Connor 1d99bd5cb3 Merge branch 'max_queue_size' 2021-03-26 17:03:52 -04:00
Isaac Connor 1275948744 add cast to fix compile 2021-03-26 17:03:49 -04:00
Isaac Connor 8e40067d13 Update locks 2021-03-26 17:01:45 -04:00
Isaac Connor 52cb182ae3 Load max_image_buffer_count in monitor and set it in packetqueue. rename max_video_packet_count to pre_event_video_count in packetqueue and adjust logic. When queuing packets check to ensure that we aren't going over. Delete packets from front if possible, do not queue packet if not possible 2021-03-26 14:26:37 -04:00
Isaac Connor 3655b25b7c spacing 2021-03-26 08:16:26 -04:00
Isaac Connor d0a390b42f decrease logging of nal counts 2021-03-26 08:15:55 -04:00
Isaac Connor b6187a8e91 Allow setting the frame size 2021-03-25 13:39:07 -04:00
Isaac Connor 7038263e3b implement a nal splitter for udp transmission 2021-03-25 13:12:52 -04:00
Isaac Connor 0c7542d20d set hType 2021-03-25 13:12:21 -04:00
Isaac Connor 292bad8718 We can use >= instead of > to avoid an unneeded reallocation. Reduce duplicated code. 2021-03-25 12:52:41 -04:00
Isaac Connor 3f8b9db3d9 fix UriEncode returning a string that is longer than the c_str 2021-03-24 13:29:17 -04:00
Isaac Connor 79115e79f8 Fix jwt-cpp failing signature validation 2021-03-24 13:28:40 -04:00
Isaac Connor e5a464f090 fix reverse logic on testing stop_ 2021-03-23 13:53:07 -04:00
Isaac Connor d1b816658b code style cleanups and add debug to tell which library we are using 2021-03-23 13:52:35 -04:00
Isaac Connor 1bfc61a5b7 change log level to debug when monitor is not decoding 2021-03-23 10:32:59 -04:00
Isaac Connor 456afac0ec Must initialize stop_ 2021-03-23 10:07:55 -04:00
Isaac Connor e51fe9eb4a add tail_count to encode option 2021-03-22 21:31:09 -04:00
Isaac Connor 0a8b89fecd Use pts instead of timestamp in our nal 2021-03-22 17:49:59 -04:00
Isaac Connor 96a96f4865 add jwt token as a std:;string 2021-03-22 17:49:59 -04:00
Isaac Connor 8bc22880a4 use modern threads. Add a separate thread for sending data. 2021-03-22 17:49:59 -04:00
Isaac Connor cfff9723af Remove h264markers cuz it's in zm_rtsp_server_frame.h 2021-03-22 17:49:59 -04:00
Isaac Connor d2efb51b0d rearrange a bit, put back setting width and height on video source even though it isn't used yet. Remove signal blocking stuff that we don't use 2021-03-22 17:49:59 -04:00
Isaac Connor d84e4a14fb Use a define when setting pipe size 2021-03-22 17:49:59 -04:00
Isaac Connor b5f64f1c69 Merge branch 'master' of github.com:/ZoneMinder/zoneminder 2021-03-22 12:41:36 -04:00
Isaac Connor 9cb5887332 better debug logging when choosing codec 2021-03-22 12:41:30 -04:00
Isaac Connor b8b20917be setKeepKeyframes when not PASSTHROUGH 2021-03-22 12:05:22 -04:00
Isaac Connor 2d4b4b6022 If we already tried decoding a packet, don't try again. Also we really shouldn't be decoding in videostore. 2021-03-22 12:05:05 -04:00
Isaac Connor 3f3bc50acb Add keep_keyframes setting. When NOT doing passthrough we don't actually have to store all packets since last keyframe, so don't do it. SImplifies clearPackets() logic a lot and will save ram for those people. 2021-03-22 12:04:32 -04:00
Isaac Connor 6d5cbe2583 Make incorrect dimensions non-fatal if the monitor dimensions are larger than what is expected, so at least there is enough ram to store the image 2021-03-22 11:02:32 -04:00
Peter Keresztes Schmidt 67d7872e9a Eliminate non-thread-safe calls to gmtime
gmtime uses an internal static storage to which a pointer is given as return value.
Due to this it is not safe to call gmtime from multiple threads since the same static storage is used.

Use gmtime_r instead which allows to pass in a tm struct.

Fixes:
https://github.com/ZoneMinder/zoneminder/security/code-scanning/32
2021-03-21 21:42:02 +01:00
Peter Keresztes Schmidt 4e8c7d1f7c Eliminate non-thread-safe calls to localtime
localtime uses an internal static storage to which a pointer is given as return value.
Due to this it is not safe to call localtime from multiple threads since the same static storage is used.

Use localtime_r instead which allows to pass in a tm struct.

Fixes:
https://github.com/ZoneMinder/zoneminder/security/code-scanning/24
https://github.com/ZoneMinder/zoneminder/security/code-scanning/25
https://github.com/ZoneMinder/zoneminder/security/code-scanning/26
https://github.com/ZoneMinder/zoneminder/security/code-scanning/27
https://github.com/ZoneMinder/zoneminder/security/code-scanning/28
https://github.com/ZoneMinder/zoneminder/security/code-scanning/30
https://github.com/ZoneMinder/zoneminder/security/code-scanning/31
https://github.com/ZoneMinder/zoneminder/security/code-scanning/33
https://github.com/ZoneMinder/zoneminder/security/code-scanning/58
https://github.com/ZoneMinder/zoneminder/security/code-scanning/59
https://github.com/ZoneMinder/zoneminder/security/code-scanning/63
https://github.com/ZoneMinder/zoneminder/security/code-scanning/64
https://github.com/ZoneMinder/zoneminder/security/code-scanning/65
2021-03-21 21:42:02 +01:00
Peter Keresztes Schmidt 7e86e1ef40 utils: Make TimevalToString thread-safe 2021-03-21 21:42:02 +01:00
Isaac Connor 7c9eb42ebb
Merge branch 'master' into 3197-record-event-close-mode 2021-03-21 13:03:26 -04:00
Isaac Connor 6d9a4ed661 If the analysis thread is falling behind, we can't count the packets after it in the number of packets to keep in queue. So figure out how many there are and add that to the max_video_packet count to keep so that we always have enough to satisfy pre_event_count 2021-03-21 12:28:33 -04:00
Isaac Connor 8a1d13b6cd perror => Error() 2021-03-21 09:17:03 -04:00
Isaac Connor a042e4bf77 spacing 2021-03-20 19:27:18 -04:00
SirLouen db7e9edcab Issue #3197 Improvement 2021-03-21 00:00:36 +01:00
SirLouen 33f98a0d40 Issue #3197 Add RECORD to Event_Close_Mode time 2021-03-20 20:02:52 +01:00
Isaac Connor 53133ba051 add token as an alternative to jwt_token 2021-03-18 17:43:31 -04:00
Peter Keresztes Schmidt 7a4c34ec7e RemoteCameraHttp: Fix a log message 2021-03-18 20:02:20 +01:00
Isaac Connor edefbfcad6 Remove assumptions about Analysis being about motion detection. Fixes mem leaks in Monitor mode 2021-03-18 09:24:27 -04:00
Isaac Connor f4506a8f35 We always need an analysis thread. 2021-03-17 23:41:00 -04:00
Isaac Connor ccb1bc1a7d Have to wait until we are finished with the packet before unlocking. 2021-03-17 16:11:31 -04:00
Isaac Connor fb28c6b365 Fix login in Decode for non-ffmpeg monitors 2021-03-17 15:53:14 -04:00
Isaac Connor 079d3361a2 Rework to read content_length bytes at once. Micro-optimisation 2021-03-17 15:52:55 -04:00
Isaac Connor 284fe52b5f fix double stop/free of decoder and analysis threads 2021-03-17 12:57:45 -04:00
Isaac Connor c39ec5873b don't include zm_utils in decoder_thread 2021-03-17 12:50:13 -04:00
Isaac Connor 2b34d09b84 Move analysis_thread into Monitor. Don't do extra gettimeofday if no delays are set. Fix status update on terminate 2021-03-17 12:49:50 -04:00
Isaac Connor feafaa29bf improve debug logging 2021-03-17 12:49:12 -04:00
Isaac Connor 6ab8bee581 Increase debug level for fifo writing 2021-03-17 12:48:59 -04:00
Isaac Connor 0b4f04c4d5 notify in clear before taking lock to increase chance of other threads exiting. Handle terminate case in get_packet 2021-03-17 12:48:42 -04:00
Isaac Connor 9ca5f49d82 Move analysis_thread into Monitor 2021-03-17 12:48:08 -04:00
Isaac Connor dca34544ec move analysis thread into monitor. populate analysis_it and decoder_it in Prime instead of constantly checking for them. Handle cases where LockedPacket are null due to shutdown 2021-03-17 12:47:52 -04:00
Isaac Connor a8d31ca686 After moving analysis thread into monitor, I don't know how to handle the shared_ptr stuff 2021-03-17 12:46:55 -04:00
Isaac Connor 657a5edda4 If decoding disabled, set signal and last_write_time in the Capture thread. So that zm_watch knows we are alive 2021-03-17 10:11:06 -04:00
Isaac Connor 6a2e237902 Fix delete packet before deleting lock on packet 2021-03-17 10:07:03 -04:00
Isaac Connor 74616d1061 Update CaptureFPS SQL to just do an update and don't use static sql. TThis may fix a signal 6 crash that we have been seeing 2021-03-17 10:06:45 -04:00
Isaac Connor 14ef8336b9 If ffmpeg and decoding Disabled don't stream 2021-03-16 20:10:00 -04:00
Isaac Connor fe17d7bb23 Add checks for aliveness of monitor in streaming. If decoding disabled can't view stream. 2021-03-16 20:09:14 -04:00
Isaac Connor 1daafd7f85 add GetType 2021-03-16 20:08:08 -04:00
Isaac Connor 12ed02a5b0 Move trigger detection before motion detection. Only wait for decoding if decoding is enabled 2021-03-16 20:07:59 -04:00
Isaac Connor 8fa989f8e9 Increase debug level of input selection 2021-03-16 20:07:06 -04:00
Isaac Connor c0242e7369 Fix memleak when connect fails 2021-03-16 13:28:00 -04:00
Isaac Connor 028f2dd626 Debug extra error log and code style 2021-03-16 13:27:27 -04:00
Isaac Connor 5e54a63bd5 Only load zones if doing something other than QUERY. Only delete decoder if there is one. 2021-03-16 13:26:40 -04:00
Isaac Connor ebf1b7cbdc Only output to stdout if mTerminalLevel is something. zms for example SHOULD not output to stdout, ever except maybe when running from terminal to debug 2021-03-16 13:26:06 -04:00
Isaac Connor 9d239219de Break out early if no more buffer. Saves a couple cycles 2021-03-16 12:08:45 -04:00
Isaac Connor 76267bc57f put back deleting the raw image when not saving jpegs. We only need it for the snapshot and that should be the alarmed image anyways. 2021-03-16 12:08:11 -04:00
Isaac Connor 2b0e3d0d2c Merge branch 'decoder_thread' 2021-03-15 17:05:36 -04:00
Isaac Connor 9903e909af Rework locking in ZMPacket by using a new class called ZMLockedPacket. 2021-03-15 17:05:30 -04:00
Isaac Connor baf73fea7b Ensure that we disconnect when ShmValid fails 2021-03-15 15:11:12 -04:00
Isaac Connor 6a11b23aaf Add decoder thread 2021-03-15 15:08:59 -04:00
Isaac Connor b238a2bc25 Implement decoder thread, locking is broken 2021-03-15 15:08:43 -04:00
Isaac Connor f4e60be444 If we failed to bind libvnc then fail Prime to prevent crash 2021-03-14 22:08:48 -04:00
Isaac Connor e0d54a6d11 remove deprecated reset and tidy up a bit 2021-03-13 16:30:41 -05:00
Isaac Connor c9170a87b2 Allow users with Monitors::View to generate and cancel events 2021-03-12 09:26:56 -05:00
Isaac Connor 786adc5511 Spacing 2021-03-11 13:48:52 -05:00
Isaac Connor 28490816dc Use new zmDbDoUpdate to end the event 2021-03-11 13:48:42 -05:00
Isaac Connor cbec5b2800 Implement zmDbDoUpdate which returns -mysql_errer or # of rows modified 2021-03-11 13:48:16 -05:00
Isaac Connor b5f45b0987 fix alignment of help 2021-03-11 13:16:44 -05:00
Isaac Connor 86a26ef3b1 nvsnprintf won't exceed the buffer but it can hit the end of it so adding the ending ]\n can overflow. Test and prevent. 2021-03-11 13:16:32 -05:00
Isaac Connor 43e7e612c5 Have to turn off DB logging when logging from a db query or else we infinite loop 2021-03-11 13:07:47 -05:00
Isaac Connor f2553220b6 Implement xop::Authenticator::GetFailedResponse to return a 401 2021-03-11 11:45:39 -05:00
Isaac Connor 874e61d681 remove Base64 include from live555 2021-03-11 09:26:50 -05:00
Isaac Connor 644d6d34a4 Must init video_stream_id and audio_stream_id 2021-03-10 17:23:44 -05:00
Isaac Connor 5d968358f7 Need to use ZM::make_unique because std::make_unique is c++14 2021-03-10 16:35:03 -05:00
Isaac Connor 000df68f72 include memory 2021-03-10 16:17:26 -05:00
Isaac Connor 15bd3276d2 fix define 2021-03-10 13:50:42 -05:00
Isaac Connor aadee4ea65 add a Query String parse in zm_utils
add an authenticator to use with RtspServer
2021-03-10 13:20:14 -05:00
Isaac Connor 562e7c7e80 Add authentication 2021-03-10 13:19:41 -05:00
Isaac Connor a0957fbd10 remove debug 2021-03-10 13:19:30 -05:00
Isaac Connor b1f6eb127b Switch from live555 to PHZ76/RtspServer 2021-03-10 11:01:04 -05:00
Isaac Connor 831cf8af56 remove zm_video.h which is no longer relevant 2021-03-08 22:14:47 -05:00
Isaac Connor 41085c9e5c Remove final bits of zm_video writer. 2021-03-08 22:14:13 -05:00
Isaac Connor 46bf765f80 Set heartbeat on startup. Fix logic in ShmValid 2021-03-08 18:31:01 -05:00
Isaac Connor e38e8a2775 Actually use zmc_heartbeat_time. Set it on every capture and use it in ShmValid to determine if zmc has gone away. 2021-03-08 09:30:53 -05:00
Isaac Connor c0990a7982
Merge pull request #3190 from Carbenium/db-locking
Fix SQL queries with missing lock
2021-03-06 18:51:02 -05:00
Peter Keresztes Schmidt 32f8bc8e31 Fifo: Fix a crash on shutdown
outfile can be undefined if the fifo couldn't be opened correctly.
Only try to close outfile on shutdown when it is valid.
2021-03-06 23:39:59 +01:00
Peter Keresztes Schmidt 0796a2262e Utils: Replace stringtf with a type-safe version that can't overflow 2021-03-06 00:12:18 +01:00
Peter Keresztes Schmidt 9e77324de4 Replace raw mysql_query calls with the zmDb* functions
With this we can make sure we have proper locking of our DB connection at all times.
2021-03-06 00:12:18 +01:00
Isaac Connor c96cb1dd8d Put back terminate_ 2021-03-05 14:21:18 -05:00
Isaac Connor cfb8e062c1 Add deleting sources to RTSPServerThread::Stop(). Delete redundant terminate 2021-03-05 14:18:51 -05:00
Isaac Connor ebd29a3cb9 use the timeout version of read_into so that we don't stay blocked while we have been told to exit. If getNextFrame returns -1 sleep for a second. 2021-03-05 14:18:12 -05:00
Isaac Connor 07339e443b Add RTSP Server shutdown code 2021-03-05 14:13:24 -05:00
Isaac Connor f99b8896ec Don't unlock the mutex around openFile. It is a recursive mutex so we should be able to stay locked 2021-03-05 14:13:10 -05:00
Isaac Connor 0af68a0914 Implement read_into with a timeout 2021-03-05 14:12:44 -05:00
Isaac Connor 1ff4e5bc8d Fix not keeping enough video packets in packetqueue to satisfy pre_event_count 2021-03-05 10:02:21 -05:00
Admin fa22129966
Make last_alarm_count last alarmed frame while only in ALARM state to make post_event_count counts since here not alone alarmed frames that don't shot alarms. 2021-03-04 20:20:02 +01:00
Isaac Connor 5f476df194 Fix invalid read when no mAudioStream 2021-03-04 13:35:39 -05:00
Isaac Connor d20521569d Only add width and height if they have a value 2021-03-04 13:26:10 -05:00
Isaac Connor 7da1e48456 Fix delete=>delete[] on header. If we read_into the buffer more all our pointers can be invalidated. So use offsets instead 2021-03-04 13:26:10 -05:00
Isaac Connor eb36c9e919 add getFrequencyIndex and use it to correctly set the frequency index 2021-03-04 13:26:10 -05:00
Isaac Connor 1adeda6241 Add debugging of sql 2021-03-04 13:26:10 -05:00
Peter Keresztes Schmidt 5ffaebf70d RtpCtrlThread: Add a missing include 2021-03-04 19:21:09 +01:00
Isaac Connor 0a8b34843c
Merge pull request #3188 from Carbenium/drop-zm-thread
Drop our custom threading code
2021-03-04 13:02:51 -05:00
Isaac Connor 5259b78065 Fix event notes not getting populated. 2021-03-04 11:12:27 -05:00
Isaac Connor f986b6a5e2 Clear packet counts on clear so that camera restarts don't incremenet the stream_id's and cause memory consumption 2021-03-04 07:46:39 -05:00
Peter Keresztes Schmidt d9568a98c0 Drop zm_thread which has been replaced by STL implementations 2021-03-04 10:55:46 +01:00
Peter Keresztes Schmidt 15bb9969da Timer: Unused, let's remove it
Currently there is no need for this functionality.
Since it depends on Thread and ThreadData (which will be removed) let's drop this as well.
If need would arise for such functionality a new implementation with a modern API should be written.
2021-03-03 23:38:15 +01:00
Peter Keresztes Schmidt a78236d05c Fifo: Fix some missing c_str()s for formatting logs 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt 69185e2204 RtpSource: Convert ThreadData with std::condition_variable 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt 1dfa41923b Fifo: F_{G,S}ETPIPE_SZ is Linux specific 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt c7f9cc3368 LibvlcCamera: Convert ThreadData with std::condition_variable 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt c78e174e78 RTSPServerThread: Convert to std::thread 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt 8f0431d85b RtpDataThread: Convert to std::thread 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt 71edb9d830 RtpCtrlThread: Convert to std::thread 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt ff2bfb58da RtspThread: Fix an unguarded SQL query causing race conditions 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt 8f941c75cd RtspThread: Convert to std::thread 2021-03-03 23:31:53 +01:00
Peter Keresztes Schmidt e67626b4e2 logger: Move log_mutex to std::recursive_mutex 2021-03-03 23:31:53 +01:00
Isaac Connor 20fe6153d5 Don't treat data packets as video 2021-03-03 15:52:39 -05:00
Isaac Connor d34d2e2398 Use a define to deal with the codec/codecpar version problem 2021-03-03 15:43:59 -05:00
Isaac Connor 253ed928ec Fix using wrong stream to set codec_type 2021-03-03 15:24:11 -05:00
Isaac Connor 8a33fb6665 Include codec_type in stream and packet dumps 2021-03-03 15:23:58 -05:00
Isaac Connor eaaf04420a Keep track of stream last_pts. So we can at least try to sync streams 2021-03-03 12:45:05 -05:00
Isaac Connor 3149ba276f audio_in_stream_id is dprecated 2021-03-03 12:44:45 -05:00
Isaac Connor b87d859f72 Set the packet's stream_index to the packetqueue stream. Rename get_ functions to get 2021-03-03 12:06:34 -05:00
Isaac Connor a90ec5b15d Deprecate video_in_stream_index and audio_in_stream_index as they are not useful 2021-03-03 12:03:36 -05:00
Isaac Connor a01a24ec36 Add loading SecondPath in monitor 2021-03-03 09:56:33 -05:00
Isaac Connor 9310825d93 Add get_video_stream and get_audio_stream. 2021-03-03 09:56:31 -05:00
Isaac Connor e31c87193d Make Open() return 1 instead of 0 2021-03-03 09:55:57 -05:00
Isaac Connor 4cc1da8b89 Add SecondFormatContext and open it using an FFmpeg_Input 2021-03-03 09:55:57 -05:00
Isaac Connor 86541779d9 Add SecondFormatContext 2021-03-03 09:55:57 -05:00
Isaac Connor 95fe689d58 WIP, rabbit hole too deep 2021-03-03 09:55:57 -05:00
Isaac Connor 0550e69224 Fix compile on old avcodec 2021-03-03 09:55:57 -05:00
Isaac Connor dcd1804b4d add get_format_context() 2021-03-03 09:52:44 -05:00
Isaac Connor 46ec4e75d4 Check codec type instead of stream_index to determine video/audio 2021-03-03 09:52:27 -05:00
Isaac Connor cf27482ebe Change api of packetqueue. stream_index will not be incoming stream_index it will be a packetqueue specific stream_index. 2021-03-03 09:52:13 -05:00
Isaac Connor 9f5f215ef4 Check codec type instead of stream_index to determine video/audio 2021-03-03 09:51:43 -05:00
Isaac Connor 53425257cb Handle old avcodec 2021-03-02 16:20:57 -05:00
Admin 4ff016c991
Make capturing/analysing log lines follow same pattern 2021-03-02 20:51:16 +01:00
Isaac Connor be1b439dcc Add State_Strings and code cleanup. Fix not going into alarm state when already recording. Fixes #3184 2021-03-02 14:42:54 -05:00
Isaac Connor 1c40145e89 not finding space for pts is debug now and show the contents of header 2021-03-02 12:41:26 -05:00
Isaac Connor f35a1c70c0 fix build with old avcodec for xenial 2021-03-02 12:07:51 -05:00
Isaac Connor c03d9b2987 Set state before we write packets to event so that the event knows that it is alarmed 2021-03-02 11:47:55 -05:00
Isaac Connor f8b7ec8cb9 Save frames when in ALARM state so that pre-event frames get stored 2021-03-02 11:47:38 -05:00
Isaac Connor 71d65685b9 Can't clear image data early. Might be needed for snapshot and pre alarm farmes 2021-03-02 11:12:57 -05:00
Isaac Connor 3dc4bf265e Use braces 2021-03-02 10:15:21 -05:00
Isaac Connor 205ed4c510 EAGAIN happens when no one is listening. Make it a debug 2021-03-02 10:14:25 -05:00
Isaac Connor 46743ebaab Silence compile warning 2021-03-02 10:00:48 -05:00
Isaac Connor 832eabbd79 Don't both updating analysis fps unless we are doing motion detection 2021-03-02 09:59:32 -05:00
Isaac Connor d92da5f633
Merge pull request #3185 from Carbenium/jwt-cpp
dep/jwt-cpp: Update to version 0.5
2021-03-01 18:42:25 -05:00
Peter Keresztes Schmidt 37817f6ba4 dep/jwt-cpp: Update to version 0.5
Fixes some compile warnings. Unit tests pass with this version as well.
2021-03-01 23:14:56 +01:00
Isaac Connor 1bc5abb9e9 Only include video packets in analysis_image_count 2021-03-01 17:07:09 -05:00
Isaac Connor 7c71c1c543 fix rebase error 2021-03-01 17:06:53 -05:00
Isaac Connor 51c19912f8 Use analysis_image_count in opening new event log line 2021-03-01 16:56:47 -05:00
Isaac Connor 82dcd87a22 Add generic fifo_audio_source 2021-03-01 16:49:27 -05:00
Isaac Connor 8f001413f2 Handle hevc as the codec name as well as h265 2021-03-01 16:49:27 -05:00
Isaac Connor 53059aebf3 rename numChannels to getChannels and samplingFrequency to getFrequency 2021-03-01 16:49:27 -05:00
Isaac Connor b86e7eefbf fix needed line break before dimensions. Update h265 auxline processing to match h264 2021-03-01 16:49:27 -05:00
Isaac Connor d33540c962 Fix logic on clearing frame queue 2021-03-01 16:49:27 -05:00
Isaac Connor 495e2a4827 Add setting up the config string and population of mAuxLine 2021-03-01 16:49:27 -05:00
Isaac Connor b2ff9af238 Add setting of frequency and channels for audio stream 2021-03-01 16:49:27 -05:00
Isaac Connor b09fe1d17c Create fifo if it doesn't exist already 2021-03-01 16:49:27 -05:00
Isaac Connor 9302c9506e Add audio_frequency and audio_channels to shared mem and set them in PrimeCapture 2021-03-01 16:49:27 -05:00
Isaac Connor 8500c7ee94 Add audio_frequency and audio_channels to shared mem 2021-03-01 16:49:27 -05:00
Isaac Connor c5ee837b9b Add getFrequency and getChannels 2021-03-01 16:49:27 -05:00
Isaac Connor cc80ae37fb Add a generic fif_audio_source class 2021-03-01 16:49:27 -05:00
Isaac Connor b4fc782778 fifo.h got split into zm_fifo and zm_stream so update the code in zms 2021-03-01 16:49:27 -05:00
Isaac Connor 8c2e6589ac fifo.h got split into zm_fifo and zm_fifo_debug so update the code in zm_zone 2021-03-01 16:49:27 -05:00
Isaac Connor 8af7e40ea1 Use fifo version of code 2021-03-01 16:49:27 -05:00
Isaac Connor bfc12384f6 Increase debug level of auxline reporting 2021-03-01 16:49:27 -05:00