summaryrefslogtreecommitdiff
path: root/libs/ardour/disk_io.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-29 02:05:26 +0100
committerRobin Gareus <robin@gareus.org>2018-11-29 02:05:26 +0100
commit6fc2804414739d079e6c8798906887ecea152956 (patch)
tree83644feacd7b7690c1d3be2da0be0779cb729512 /libs/ardour/disk_io.cc
parentdfbda9e0f6d5003ba2ba05b21c6045f4ad1109fa (diff)
Disk I/O: only allocate midi-buffer if needed
This fixes a memory-leak (_midi_buf was allocated in DiskIOProc but only delete in DiskReader). Also skip midi-refill early on
Diffstat (limited to 'libs/ardour/disk_io.cc')
-rw-r--r--libs/ardour/disk_io.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/ardour/disk_io.cc b/libs/ardour/disk_io.cc
index 427f364404..097794bb3d 100644
--- a/libs/ardour/disk_io.cc
+++ b/libs/ardour/disk_io.cc
@@ -55,7 +55,7 @@ DiskIOProcessor::DiskIOProcessor (Session& s, string const & str, Flag f)
, playback_sample (0)
, _need_butler (false)
, channels (new ChannelList)
- , _midi_buf (new MidiRingBuffer<samplepos_t> (s.butler()->midi_diskstream_buffer_size()))
+ , _midi_buf (0)
, _samples_written_to_ringbuffer (0)
, _samples_read_from_ringbuffer (0)
{
@@ -76,6 +76,7 @@ DiskIOProcessor::~DiskIOProcessor ()
}
channels.flush ();
+ delete _midi_buf;
}