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