From cf27482ebe4dca94cf61909fa8dcdd0d54b91d79 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 3 Mar 2021 09:52:13 -0500 Subject: [PATCH] Change api of packetqueue. stream_index will not be incoming stream_index it will be a packetqueue specific stream_index. --- src/zm_packetqueue.cpp | 21 ++++++++++++--------- src/zm_packetqueue.h | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/zm_packetqueue.cpp b/src/zm_packetqueue.cpp index c89347692..588355287 100644 --- a/src/zm_packetqueue.cpp +++ b/src/zm_packetqueue.cpp @@ -38,17 +38,20 @@ PacketQueue::PacketQueue(): /* Assumes queue is empty when adding streams * Assumes first stream added will be the video stream */ -void PacketQueue::addStreamId(int p_stream_id) { +int PacketQueue::addStream() { deleting = false; - if ( video_stream_id == -1 ) - video_stream_id = p_stream_id; - if ( max_stream_id < p_stream_id ) { - if ( packet_counts ) delete[] packet_counts; - max_stream_id = p_stream_id; - packet_counts = new int[max_stream_id+1]; - for ( int i=0; i <= max_stream_id; ++i ) - packet_counts[i] = 0; + if ( max_stream_id == -1 ) { + video_stream_id = 0; + max_stream_id = 0; + } else { + max_stream_id ++; } + + if ( packet_counts ) delete[] packet_counts; + packet_counts = new int[max_stream_id+1]; + for ( int i=0; i <= max_stream_id; ++i ) + packet_counts[i] = 0; + return max_stream_id; } PacketQueue::~PacketQueue() { diff --git a/src/zm_packetqueue.h b/src/zm_packetqueue.h index cd88648b9..c0ba045b8 100644 --- a/src/zm_packetqueue.h +++ b/src/zm_packetqueue.h @@ -48,7 +48,7 @@ class PacketQueue { std::list::const_iterator end() const { return pktQueue.end(); } std::list::const_iterator begin() const { return pktQueue.begin(); } - void addStreamId(int p_stream_id); + int addStream(); void setMaxVideoPackets(int p); bool queuePacket(ZMPacket* packet);