From ed7bfd883566d8cc34d2bd338bbfac71e8e57b80 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Thu, 1 Sep 2016 18:03:45 -0400 Subject: [PATCH] Small improvements to the logic of WaveTrackCache --- src/WaveTrack.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/WaveTrack.cpp b/src/WaveTrack.cpp index 43831c8fb..17f2fa0da 100644 --- a/src/WaveTrack.cpp +++ b/src/WaveTrack.cpp @@ -2661,6 +2661,7 @@ constSamplePtr WaveTrackCache::Get(sampleFormat format, mBuffers[1] = mBuffers[0]; mBuffers[0].data = save; fillFirst = true; + fillSecond = false; // Cache is not in a consistent state yet mNValidBuffers = 0; } @@ -2732,7 +2733,7 @@ constSamplePtr WaveTrackCache::Get(sampleFormat format, const auto starti = start - mBuffers[ii].start; const auto leni = std::min( sampleCount( remaining ), mBuffers[ii].len - starti ); - if (initLen == 0 && leni == len) { + if (initLen <= 0 && leni == len) { // All is contiguous already. We can completely avoid copying return samplePtr(mBuffers[ii].data + starti); }