1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

Fixed audio FIFO write overflows in modulators using audio input. Also fixes #1236 in SSB modulator

This commit is contained in:
f4exb
2022-05-17 19:55:40 +02:00
parent 7a8cab7879
commit cc8b2e6462
12 changed files with 76 additions and 26 deletions
+4 -1
View File
@@ -17,7 +17,7 @@
#include <QDebug>
#include "dsp/basebandsamplesink.h"
#include "dsp/spectrumvis.h"
#include "dsp/misc.h"
#include "dsp/datafifo.h"
#include "util/messagequeue.h"
@@ -31,6 +31,7 @@ const int SSBModSource::m_levelNbSamples = 480; // every 10ms
SSBModSource::SSBModSource() :
m_channelSampleRate(48000),
m_channelFrequencyOffset(0),
m_spectrumSink(nullptr),
m_audioSampleRate(48000),
m_audioFifo(12000),
m_feedbackAudioFifo(48000),
@@ -40,6 +41,8 @@ SSBModSource::SSBModSource() :
m_ifstream(nullptr),
m_mutex(QMutex::Recursive)
{
m_audioFifo.setLabel("SSBModSource.m_audioFifo");
m_feedbackAudioFifo.setLabel("SSBModSource.m_feedbackAudioFifo");
m_SSBFilter = new fftfilt(m_settings.m_lowCutoff / m_audioSampleRate, m_settings.m_bandwidth / m_audioSampleRate, m_ssbFftLen);
m_DSBFilter = new fftfilt((2.0f * m_settings.m_bandwidth) / m_audioSampleRate, 2 * m_ssbFftLen);
m_SSBFilterBuffer = new Complex[m_ssbFftLen>>1]; // filter returns data exactly half of its size