Mercurial > hg > constant-q-cpp
changeset 187:5977a0f363d9
Merge
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 24 Sep 2015 16:36:35 +0100 |
parents | 0d81daeca8d6 (diff) e530a07a791a (current diff) |
children | ec540b9b6ae5 |
files | src/dsp/Resampler.cpp |
diffstat | 2 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile.linux Tue Sep 15 13:57:53 2015 +0100 +++ b/Makefile.linux Thu Sep 24 16:36:35 2015 +0100 @@ -1,5 +1,6 @@ CFLAGS := -Wall -O3 -ffast-math -msse -msse2 -mfpmath=sse -fPIC -I../vamp-plugin-sdk/ + #CFLAGS := -g -fPIC -I../vamp-plugin-sdk CXXFLAGS := $(CFLAGS) -std=c++11
--- a/src/dsp/Resampler.cpp Tue Sep 15 13:57:53 2015 +0100 +++ b/src/dsp/Resampler.cpp Thu Sep 24 16:36:35 2015 +0100 @@ -53,6 +53,9 @@ m_sourceRate(sourceRate), m_targetRate(targetRate) { +#ifdef DEBUG_RESAMPLER + cerr << "Resampler::Resampler(" << sourceRate << "," << targetRate << ")" << endl; +#endif initialise(100, 0.02); } @@ -293,7 +296,11 @@ double v = 0.0; int n = pd.filter.size(); - assert(n + m_bufferOrigin <= (int)m_buffer.size()); + if (n + m_bufferOrigin > (int)m_buffer.size()) { + cerr << "ERROR: n + m_bufferOrigin > m_buffer.size() [" << n << " + " + << m_bufferOrigin << " > " << m_buffer.size() << "]" << endl; + throw std::logic_error("n + m_bufferOrigin > m_buffer.size()"); + } #if defined(__MSVC__) #define R__ __restrict @@ -336,6 +343,12 @@ outidx++; } + if (m_bufferOrigin > (int)m_buffer.size()) { + cerr << "ERROR: m_bufferOrigin > m_buffer.size() [" + << m_bufferOrigin << " > " << m_buffer.size() << "]" << endl; + throw std::logic_error("m_bufferOrigin > m_buffer.size()"); + } + m_buffer = vector<double>(m_buffer.begin() + m_bufferOrigin, m_buffer.end()); m_bufferOrigin = 0;