From 806e6cac695383e3f3e9caba6b096c06d398c7b6 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 7 Mar 2021 11:30:05 +0100 Subject: [PATCH] FileRecord: cut file only if sample rate changes. Implements #795 --- sdrbase/dsp/filerecord.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sdrbase/dsp/filerecord.cpp b/sdrbase/dsp/filerecord.cpp index 1bfb131f0..0b019d6f8 100644 --- a/sdrbase/dsp/filerecord.cpp +++ b/sdrbase/dsp/filerecord.cpp @@ -157,15 +157,18 @@ bool FileRecord::handleMessage(const Message& message) if (DSPSignalNotification::match(message)) { DSPSignalNotification& notif = (DSPSignalNotification&) message; - m_sampleRate = notif.getSampleRate(); - m_centerFrequency = notif.getCenterFrequency(); - qDebug() << "FileRecord::handleMessage: DSPSignalNotification: m_inputSampleRate: " << m_sampleRate - << " m_centerFrequency: " << m_centerFrequency; + quint32 sampleRate = notif.getSampleRate(); + qint64 centerFrequency = notif.getCenterFrequency(); + qDebug() << "FileRecord::handleMessage: DSPSignalNotification: inputSampleRate: " << sampleRate + << " centerFrequency: " << centerFrequency; - if (m_recordOn) { + if (m_recordOn && (m_sampleRate != sampleRate)) { startRecording(); } + m_sampleRate = sampleRate; + m_centerFrequency = centerFrequency; + return true; } else