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;