File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -861,15 +861,21 @@ class QueueStream : public AudioStream {
861
861
// / Default constructor
862
862
QueueStream (int bufferSize, int bufferCount, bool autoRemoveOldestDataIfFull=false )
863
863
: AudioStream() {
864
+ owns_buffer = true ;
864
865
callback_buffer_ptr = new NBuffer<T>(bufferSize, bufferCount);
865
866
remove_oldest_data = autoRemoveOldestDataIfFull;
866
867
}
867
868
// / Create stream from any BaseBuffer subclass
868
869
QueueStream (BaseBuffer<T> &buffer){
870
+ owns_buffer = false ;
869
871
callback_buffer_ptr = &buffer;
870
872
}
871
873
872
- virtual ~QueueStream () { delete callback_buffer_ptr; }
874
+ virtual ~QueueStream () {
875
+ if (owns_buffer) {
876
+ delete callback_buffer_ptr;
877
+ }
878
+ }
873
879
874
880
// / Activates the output
875
881
virtual bool begin () override {
@@ -929,6 +935,7 @@ class QueueStream : public AudioStream {
929
935
BaseBuffer<T> *callback_buffer_ptr;
930
936
bool active;
931
937
bool remove_oldest_data;
938
+ bool owns_buffer;
932
939
933
940
};
934
941
You can’t perform that action at this time.
0 commit comments