From 167dece6044ce98a16b112ae615160c33cc14367 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 14 Sep 2021 15:47:35 -0400 Subject: [PATCH] Revert "use get_packet_and_increment_it instead of the two step to improve locking" This reverts commit a44bbf8e345d3eefea92e2b05bb1034ae1bd46b7. --- src/zm_monitor.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/zm_monitor.cpp b/src/zm_monitor.cpp index 5a2c646ab..eb65ac6f0 100644 --- a/src/zm_monitor.cpp +++ b/src/zm_monitor.cpp @@ -1723,7 +1723,7 @@ bool Monitor::Analyse() { // if have event, send frames until we find a video packet, at which point do analysis. Adaptive skip should only affect which frames we do analysis on. // get_analysis_packet will lock the packet and may wait if analysis_it is at the end - ZMLockedPacket *packet_lock = packetqueue.get_packet_and_increment_it(analysis_it); + ZMLockedPacket *packet_lock = packetqueue.get_packet(analysis_it); if (!packet_lock) return false; std::shared_ptr snap = packet_lock->packet_; @@ -1731,11 +1731,13 @@ bool Monitor::Analyse() { if (snap->score != -1) { Error("skipping because score was %d", snap->score); packetqueue.unlock(packet_lock); + packetqueue.increment_it(analysis_it); return false; } // Store the it that points to our snap we will need it later - packetqueue_iterator snap_it = std::prev(*analysis_it); + packetqueue_iterator snap_it = *analysis_it; + packetqueue.increment_it(analysis_it); // signal is set by capture bool signal = shared_data->signal;