From 98fbb5ae2835160fe89946e4117c2aeee2b578f3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Apr 2026 19:55:46 +0000 Subject: [PATCH] Optimize USRP TX tail zeroing for partial interpolation fills Agent-Logs-Url: https://github.com/srcejon/sdrangel/sessions/bafbe6fb-a6ec-4ee0-92f8-caa27da815f5 Co-authored-by: srcejon <57259258+srcejon@users.noreply.github.com> --- plugins/samplesink/usrpoutput/usrpoutputthread.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/samplesink/usrpoutput/usrpoutputthread.cpp b/plugins/samplesink/usrpoutput/usrpoutputthread.cpp index 9dd536692..c8209c75c 100644 --- a/plugins/samplesink/usrpoutput/usrpoutputthread.cpp +++ b/plugins/samplesink/usrpoutput/usrpoutputthread.cpp @@ -123,10 +123,6 @@ void USRPOutputThread::run() // Interpolate according to specified log2 (ex: log2=4 => decim=16) void USRPOutputThread::callback(qint16* buf, qint32 len) { - // Fill any sample tail not overwritten by interpolation (for non power-of-two streamer block sizes) - // so stale data is never transmitted. - std::fill(buf, buf + (2 * len), 0); - SampleVector& data = m_sampleFifo->getData(); unsigned int iPart1Begin, iPart1End, iPart2Begin, iPart2End; m_sampleFifo->read(len/(1<(len)) + { + std::fill(buf + 2*writtenSamples, buf + 2*len, 0); + } } void USRPOutputThread::callbackPart(qint16* buf, SampleVector& data, unsigned int iBegin, unsigned int iEnd)