diff --git a/common/JackLibSampleRateResampler.h b/common/JackLibSampleRateResampler.h index 4e190c38..bbb85cba 100644 --- a/common/JackLibSampleRateResampler.h +++ b/common/JackLibSampleRateResampler.h @@ -55,7 +55,7 @@ class JackLibSampleRateResampler : public JackResampler void SetRatio(unsigned int num, unsigned int denom) { JackResampler::SetRatio(num, denom); - fRatio = Range(0.25f, 4.0f, (double(num) / double(denom))); + fRatio = Range(0.25, 4.0, (double(num) / double(denom))); } void Reset(); diff --git a/common/JackResampler.cpp b/common/JackResampler.cpp index 3ad74b07..19945adf 100644 --- a/common/JackResampler.cpp +++ b/common/JackResampler.cpp @@ -18,6 +18,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "JackResampler.h" +#include namespace Jack { @@ -28,10 +29,10 @@ JackResampler::JackResampler():fNum(1),fDenom(1) jack_ringbuffer_read_advance(fRingBuffer, (sizeof(float) * DEFAULT_RB_SIZE) / 2); } -JackResampler::JackResampler(unsigned int ringbuffer_size):fNum(1),fDenom(1) +JackResampler::JackResampler(unsigned int ringbuffer_size):fNum(1),fDenom(1),fRingBufferSize(ringbuffer_size) { - fRingBuffer = jack_ringbuffer_create(sizeof(float) * ringbuffer_size); - jack_ringbuffer_read_advance(fRingBuffer, (sizeof(float) * ringbuffer_size) / 2); + fRingBuffer = jack_ringbuffer_create(sizeof(float) * fRingBufferSize); + jack_ringbuffer_read_advance(fRingBuffer, (sizeof(float) * fRingBufferSize) / 2); } JackResampler::~JackResampler() @@ -42,7 +43,8 @@ JackResampler::~JackResampler() void JackResampler::Reset() { - jack_ringbuffer_read_advance(fRingBuffer, (sizeof(float) * DEFAULT_RB_SIZE) / 2); + jack_ringbuffer_reset(fRingBuffer); + jack_ringbuffer_read_advance(fRingBuffer, (sizeof(float) * fRingBufferSize) / 2); } unsigned int JackResampler::ReadSpace() diff --git a/common/JackResampler.h b/common/JackResampler.h index dc074f26..fb6e30f2 100644 --- a/common/JackResampler.h +++ b/common/JackResampler.h @@ -40,6 +40,7 @@ class JackResampler jack_ringbuffer_t* fRingBuffer; unsigned int fNum; unsigned int fDenom; + unsigned int fRingBufferSize; public: