From 9ee9bc989fa55381a624c3767842535c61ad1df6 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 17 Jun 2022 12:07:54 +0000 Subject: [PATCH] - Instead of adjusted len, buffer read() / write() returns exception in case of length mismatch git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1026 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- radio/tests/interpolation/farrow/test.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/radio/tests/interpolation/farrow/test.cpp b/radio/tests/interpolation/farrow/test.cpp index 7d2961d..85d8eae 100644 --- a/radio/tests/interpolation/farrow/test.cpp +++ b/radio/tests/interpolation/farrow/test.cpp @@ -154,7 +154,7 @@ void test() size_t k=0; size_t n=0; size_t remain = iq_in.size(); - const size_t BLOCKSIZE=1024; + const size_t BLOCKSIZE=2048; // Create input buffer for Farrow Block auto farrow_buf_in = new Buffer(BLOCKSIZE); @@ -171,10 +171,8 @@ void test() // @2 x symbolrate // Matched filtering and interpolation - size_t size = std::min(BLOCKSIZE, remain); - size_t numFed = farrow_buf_in->write(&iq_in.data()[n], size); - n += numFed; - remain -= numFed; + size_t size = std::min(farrow_buf_in->free(), remain); + farrow_buf_in->write(&iq_in.data()[n], size); farrow.process(); while(farrow_buf_out->len()) @@ -186,6 +184,8 @@ void test() iq_out[k++] = farrow_buf_out->readAt(0); } } + remain -= size; + n += size; } wavSave("out.wav", header, iq_out); cout << "End of program" << endl;