Isaac Connor
9903e909af
Rework locking in ZMPacket by using a new class called ZMLockedPacket.
2021-03-15 17:05:30 -04:00
Isaac Connor
b238a2bc25
Implement decoder thread, locking is broken
2021-03-15 15:08:43 -04:00
Isaac Connor
786adc5511
Spacing
2021-03-11 13:48:52 -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
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
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 Isaac
f2143fd092
Improve debug logs
2021-02-23 13:12:09 -05:00
Isaac Connor
507cbf7f0f
Remove some debugging
2021-02-19 15:56:42 -05:00
Isaac Connor
415dd83d06
spacing
2021-02-19 12:44:24 -05:00
Isaac Connor
964b3dd05a
Merge branch 'master' of github.com:zoneminder/ZoneMinder
2021-02-19 09:03:31 -05:00
Isaac Connor
045cd219f8
Move clear packetqueue logic to it's own function and call it from the analysis thread.
2021-02-18 19:25:40 -05:00
Isaac Connor
78a5e78e4c
Add locking to get_event_start_it. Packets could get deleted while we are figuring this out.
2021-02-18 16:59:17 -05:00
Isaac Connor
127e15ba3a
Don't crash if we ask for packet count of an invalid stream
2021-02-18 13:47:27 -05:00
Isaac Connor
b40a31d76f
Move content of setMaxVideoPcakets into .cpp
2021-02-18 11:54:50 -05:00
Isaac Connor
393e8b582a
Move the logic of whether to queue a packet into packetqueue::queuePacket
2021-02-10 14:11:00 -05:00
Isaac Connor
01e69569eb
Placement of -- matters.
2021-02-08 09:04:06 -05:00
Peter Keresztes Schmidt
938676b129
ffmpeg: exit dumpPacket early if debug logging is not enabled
2021-02-07 11:58:17 +01:00
Peter Keresztes Schmidt
0dbc39ee25
Cleanup and reorganize includes
...
With this commit a unified structure for includes is introduced.
The general rules:
* Only include what you need
* Include wherever possible in the cpp and forward-declare in the header
The includes are sorted in a local to global fashion. This means for the include order:
0. If cpp file: The corresponding h file and an empty line
1. Includes from the project sorted alphabetically
2. System/library includes sorted alphabetically
3. Conditional includes
2021-02-04 18:02:01 +01:00
Isaac Connor
8de260472d
improve the logic of clearing packets from queue. make get_event_start_it return a pointer to an it tracked by the packetqueue.
2021-02-02 23:19:52 -05:00
Isaac Connor
b71aa4bd97
Fix never allowing the queue to fill when pre_event_count=0
2021-02-01 16:01:30 -05:00
Isaac Connor
aa53260a32
Free packet counts and iterators in destructor. Fix mem leak in queuePacket. Introduce free_it method to release iterators
2021-02-01 10:25:48 -05:00
Isaac Connor
dd57d05f40
Convert packetqueue from a pointer to a packetqueue to a member packetqueue that is always available. Add methods to set packetqueue parameters. Emptying the queue is now in packetqueue::clear()
2021-01-31 21:31:33 -05:00
Isaac Connor
0fb7cb935f
Fix skipping over the head packet when deleting packets.
2021-01-31 11:42:51 -05:00
Isaac Connor
5fc52ae6df
Handle iterator pointing to end
2021-01-30 20:34:09 -05:00
Isaac Connor
be893fe9e4
Since we loop in here, need to lock the packetqueue
2021-01-27 11:48:32 -05:00
Isaac Connor
e73e6aaabc
check for terminating before locking packetqueue. Handle when pre_event_count==0
2021-01-26 12:23:44 -05:00
Isaac Connor
a0df09dcaa
Have to check for lock on video keyframe as well
2021-01-25 12:07:56 -05:00
Isaac Connor
66c78e5a9b
Merge branch 'zma_to_thread' into rtsp_server
2021-01-19 13:43:25 -05:00
Isaac Connor
b1b72ec85b
Improve debugging. Add parenthesis to fix test for end. I think the * dereference is not being applied at the right time.
2021-01-19 09:46:08 -05:00
Isaac Connor
f44f920bf2
spacing
2021-01-14 10:31:29 -05:00
Isaac Connor
3423d8ed05
Only delete packets up to the next video keyframe. Don't be too aggressive
2021-01-12 14:13:12 -05:00
Isaac Connor
e706b4ba33
Hitting beginning of queue can happen on stream startup. So in that case make it a debug. Once the stream has been going for a while there should always be enough packets in the queue so make it a warning
2021-01-11 17:18:14 -05:00
Isaac Connor
ebe3a9b6a7
Must notify before waiting in destructor. Fix leaks
2021-01-11 13:46:50 -05:00
Isaac Connor
514e0d2e93
remove analysis_it and correctly manage external iterators. Fix testing for ability to remove packets from packetqueue. Fix some cases where the order of testing zm_terminate and packet locking is important
2021-01-11 13:46:50 -05:00
Isaac Connor
c70e2ccfc2
Must notify before waiting in destructor. Fix leaks
2021-01-07 15:12:44 -05:00
Isaac Connor
abc402878b
remove analysis_it and correctly manage external iterators. Fix testing for ability to remove packets from packetqueue. Fix some cases where the order of testing zm_terminate and packet locking is important
2021-01-07 09:43:53 -05:00
Isaac Connor
284b9f963f
Merge branch 'master' into zma_to_thread
2020-12-29 12:18:26 -05:00
Isaac Connor
9be7547c8b
Look at stream index instead of image_index when finding first keyframe in packetqueue
2020-12-27 12:32:46 -05:00
Isaac Connor
16662f79ce
spacing and code stylez
2020-12-27 12:03:44 -05:00
Isaac Connor
a1917d83d0
Merge branch 'master' into zma_to_thread
2020-12-22 19:52:09 -05:00
Isaac Connor
91057b9546
Clean up video_packet_count stuff. use packet_counts instead. Use more efficient logic for managing the # of video packets on the queue. Rewrite clearQueue to not use reverse iterators. Implement get_starting_packet to return an iterator to the packet that SHOULD start an event. So it takes into account pre_event_count and keyframe rules.
2020-12-22 10:20:44 -05:00
Isaac Connor
a502a86b00
Instead of pointing analsysis_it to begin, point it to the end, which is the newly pushed packet. Add back queue clearing
2020-12-15 16:01:18 -05:00
Isaac Connor
99e7ae3505
Merge branch 'master' into rtsp_server
2020-12-15 10:14:19 -05:00
Isaac Connor
f544c18541
add debug testing
2020-12-12 18:53:12 -05:00
Isaac Connor
f54b8fff44
use mutex and condition_variable to manage signalling. Lots of debugging and fixes
2020-12-09 15:01:24 -05: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
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
Isaac Connor
3641797500
Merge branch 'master' into zma_to_thread
2020-07-22 13:14:40 -04:00
Isaac Connor
4ff341a0f5
Merge branch 'master' into zma_to_thread
2020-05-02 18:03:42 -04:00