From 90dc65509007b9db46dc3d5a6063f6b9c76e674c Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 23 Aug 2023 11:41:54 -0400 Subject: [PATCH] Count keyframes on queuePacket so that analysis Ready() will start when out of order packets are present --- src/zm_packetqueue.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/zm_packetqueue.cpp b/src/zm_packetqueue.cpp index ba63b016f..637545fbc 100644 --- a/src/zm_packetqueue.cpp +++ b/src/zm_packetqueue.cpp @@ -107,6 +107,17 @@ bool PacketQueue::queuePacket(std::shared_ptr add_packet) { } rit++; } // end while + } else if (!max_keyframe_interval_ and add_packet->keyframe) { + auto rit = pktQueue.rbegin(); + int packet_count = 0; + while (rit != pktQueue.rend()) { + if ((*rit)->packet->stream_index == add_packet->packet->stream_index) { + if ((*rit)->keyframe) break; + packet_count ++; + } + } + Debug(1, "Have keyframe interval: %d", packet_count); + max_keyframe_interval_ = packet_count; } pktQueue.push_back(add_packet);