Skip to content

Commit 4b2b489

Browse files
committed
multi_heap_poisoning error
1 parent 0206f3c commit 4b2b489

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/AudioTools/AudioStreams.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -861,15 +861,21 @@ class QueueStream : public AudioStream {
861861
/// Default constructor
862862
QueueStream(int bufferSize, int bufferCount, bool autoRemoveOldestDataIfFull=false)
863863
: AudioStream() {
864+
owns_buffer = true;
864865
callback_buffer_ptr = new NBuffer<T>(bufferSize, bufferCount);
865866
remove_oldest_data = autoRemoveOldestDataIfFull;
866867
}
867868
/// Create stream from any BaseBuffer subclass
868869
QueueStream(BaseBuffer<T> &buffer){
870+
owns_buffer = false;
869871
callback_buffer_ptr = &buffer;
870872
}
871873

872-
virtual ~QueueStream() { delete callback_buffer_ptr; }
874+
virtual ~QueueStream() {
875+
if(owns_buffer) {
876+
delete callback_buffer_ptr;
877+
}
878+
}
873879

874880
/// Activates the output
875881
virtual bool begin() override {
@@ -929,6 +935,7 @@ class QueueStream : public AudioStream {
929935
BaseBuffer<T> *callback_buffer_ptr;
930936
bool active;
931937
bool remove_oldest_data;
938+
bool owns_buffer;
932939

933940
};
934941

0 commit comments

Comments
 (0)