From 0f4a9e1612d3c5dee4408ad489c3e4a3762eb1b1 Mon Sep 17 00:00:00 2001 From: Chris Cannam Date: Mon, 23 Feb 2015 10:56:31 +0000 Subject: [PATCH] Refuse to accept NaNs in MovingMedian, replacing them with zeros (and a warning) instead. (Must push something, to maintain filter length) --- src/dsp/MovingMedian.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dsp/MovingMedian.h b/src/dsp/MovingMedian.h index 461f98b..9c37185 100644 --- a/src/dsp/MovingMedian.h +++ b/src/dsp/MovingMedian.h @@ -30,6 +30,8 @@ #include +#include + namespace RubberBand { @@ -59,6 +61,10 @@ public: } void push(T value) { + if (value != value) { + std::cerr << "WARNING: MovingMedian: NaN encountered" << std::endl; + value = T(); + } drop(m_frame[0]); v_move(m_frame, m_frame+1, P::m_size-1); m_frame[P::m_size-1] = value;