mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-29 05:22:25 -04:00
Use new audio fifo based on audio sample type
This commit is contained in:
parent
f104f217f9
commit
511686f820
@ -34,7 +34,7 @@ AMDemod::AMDemod() :
|
|||||||
m_magsqCount(0),
|
m_magsqCount(0),
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_volumeAGC(2400, 1.0),
|
m_volumeAGC(2400, 1.0),
|
||||||
m_audioFifo(4, 48000),
|
m_audioFifo(48000),
|
||||||
m_settingsMutex(QMutex::Recursive)
|
m_settingsMutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
setObjectName("AMDemod");
|
setObjectName("AMDemod");
|
||||||
|
@ -36,7 +36,7 @@ const Real BFMDemod::default_deemphasis = 50.0; // 50 us
|
|||||||
|
|
||||||
BFMDemod::BFMDemod(BasebandSampleSink* sampleSink, RDSParser *rdsParser) :
|
BFMDemod::BFMDemod(BasebandSampleSink* sampleSink, RDSParser *rdsParser) :
|
||||||
m_sampleSink(sampleSink),
|
m_sampleSink(sampleSink),
|
||||||
m_audioFifo(4, 250000),
|
m_audioFifo(250000),
|
||||||
m_settingsMutex(QMutex::Recursive),
|
m_settingsMutex(QMutex::Recursive),
|
||||||
m_pilotPLL(19000/384000, 50/384000, 0.01),
|
m_pilotPLL(19000/384000, 50/384000, 0.01),
|
||||||
m_rdsParser(rdsParser),
|
m_rdsParser(rdsParser),
|
||||||
|
@ -38,8 +38,8 @@ DSDDemod::DSDDemod(BasebandSampleSink* sampleSink) :
|
|||||||
m_squelchOpen(false),
|
m_squelchOpen(false),
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_fmExcursion(24),
|
m_fmExcursion(24),
|
||||||
m_audioFifo1(4, 48000),
|
m_audioFifo1(48000),
|
||||||
m_audioFifo2(4, 48000),
|
m_audioFifo2(48000),
|
||||||
m_scope(sampleSink),
|
m_scope(sampleSink),
|
||||||
m_scopeEnabled(true),
|
m_scopeEnabled(true),
|
||||||
m_dsdDecoder(),
|
m_dsdDecoder(),
|
||||||
|
@ -47,7 +47,7 @@ NFMDemod::NFMDemod() :
|
|||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_afSquelch(2, afSqTones),
|
m_afSquelch(2, afSqTones),
|
||||||
m_fmExcursion(2400),
|
m_fmExcursion(2400),
|
||||||
m_audioFifo(4, 48000),
|
m_audioFifo(48000),
|
||||||
m_settingsMutex(QMutex::Recursive)
|
m_settingsMutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
setObjectName("NFMDemod");
|
setObjectName("NFMDemod");
|
||||||
|
@ -41,7 +41,7 @@ SSBDemod::SSBDemod(BasebandSampleSink* sampleSink) :
|
|||||||
m_agcThresholdGate(0),
|
m_agcThresholdGate(0),
|
||||||
m_audioActive(false),
|
m_audioActive(false),
|
||||||
m_sampleSink(sampleSink),
|
m_sampleSink(sampleSink),
|
||||||
m_audioFifo(4, 24000),
|
m_audioFifo(24000),
|
||||||
m_settingsMutex(QMutex::Recursive)
|
m_settingsMutex(QMutex::Recursive)
|
||||||
{
|
{
|
||||||
setObjectName("SSBDemod");
|
setObjectName("SSBDemod");
|
||||||
|
@ -36,7 +36,7 @@ WFMDemod::WFMDemod(BasebandSampleSink* sampleSink) :
|
|||||||
m_magsqCount(0),
|
m_magsqCount(0),
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_sampleSink(sampleSink),
|
m_sampleSink(sampleSink),
|
||||||
m_audioFifo(4, 250000),
|
m_audioFifo(250000),
|
||||||
m_settingsMutex(QMutex::Recursive)
|
m_settingsMutex(QMutex::Recursive)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ UDPSrc::UDPSrc(MessageQueue* uiMessageQueue, UDPSrcGUI* udpSrcGUI, BasebandSampl
|
|||||||
m_outMovingAverage(480, 1e-10),
|
m_outMovingAverage(480, 1e-10),
|
||||||
m_inMovingAverage(480, 1e-10),
|
m_inMovingAverage(480, 1e-10),
|
||||||
m_amMovingAverage(1200, 1e-10),
|
m_amMovingAverage(1200, 1e-10),
|
||||||
m_audioFifo(4, 24000),
|
m_audioFifo(24000),
|
||||||
m_squelchOpen(false),
|
m_squelchOpen(false),
|
||||||
m_squelchOpenCount(0),
|
m_squelchOpenCount(0),
|
||||||
m_squelchCloseCount(0),
|
m_squelchCloseCount(0),
|
||||||
|
@ -38,7 +38,7 @@ const int AMMod::m_levelNbSamples = 480; // every 10ms
|
|||||||
AMMod::AMMod() :
|
AMMod::AMMod() :
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_volumeAGC(40, 0),
|
m_volumeAGC(40, 0),
|
||||||
m_audioFifo(4, 4800),
|
m_audioFifo(4800),
|
||||||
m_settingsMutex(QMutex::Recursive),
|
m_settingsMutex(QMutex::Recursive),
|
||||||
m_fileSize(0),
|
m_fileSize(0),
|
||||||
m_recordLength(0),
|
m_recordLength(0),
|
||||||
|
@ -39,7 +39,7 @@ NFMMod::NFMMod() :
|
|||||||
m_modPhasor(0.0f),
|
m_modPhasor(0.0f),
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_volumeAGC(40, 0),
|
m_volumeAGC(40, 0),
|
||||||
m_audioFifo(4, 4800),
|
m_audioFifo(4800),
|
||||||
m_settingsMutex(QMutex::Recursive),
|
m_settingsMutex(QMutex::Recursive),
|
||||||
m_fileSize(0),
|
m_fileSize(0),
|
||||||
m_recordLength(0),
|
m_recordLength(0),
|
||||||
|
@ -46,7 +46,7 @@ SSBMod::SSBMod(BasebandSampleSink* sampleSink) :
|
|||||||
m_DSBFilterBufferIndex(0),
|
m_DSBFilterBufferIndex(0),
|
||||||
m_sampleSink(sampleSink),
|
m_sampleSink(sampleSink),
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_audioFifo(4, 4800),
|
m_audioFifo(4800),
|
||||||
m_settingsMutex(QMutex::Recursive),
|
m_settingsMutex(QMutex::Recursive),
|
||||||
m_fileSize(0),
|
m_fileSize(0),
|
||||||
m_recordLength(0),
|
m_recordLength(0),
|
||||||
|
@ -40,7 +40,7 @@ WFMMod::WFMMod() :
|
|||||||
m_modPhasor(0.0f),
|
m_modPhasor(0.0f),
|
||||||
m_movingAverage(40, 0),
|
m_movingAverage(40, 0),
|
||||||
m_volumeAGC(40, 0),
|
m_volumeAGC(40, 0),
|
||||||
m_audioFifo(4, 4800),
|
m_audioFifo(4800),
|
||||||
m_settingsMutex(QMutex::Recursive),
|
m_settingsMutex(QMutex::Recursive),
|
||||||
m_fileSize(0),
|
m_fileSize(0),
|
||||||
m_recordLength(0),
|
m_recordLength(0),
|
||||||
|
@ -34,7 +34,7 @@ AudioFifo::AudioFifo() :
|
|||||||
m_tail = 0;
|
m_tail = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioFifo::AudioFifo(uint32_t sampleSize, uint32_t numSamples) :
|
AudioFifo::AudioFifo(uint32_t numSamples) :
|
||||||
m_fifo(0),
|
m_fifo(0),
|
||||||
m_sampleSize(sizeof(AudioSample)),
|
m_sampleSize(sizeof(AudioSample)),
|
||||||
m_udpSink(0),
|
m_udpSink(0),
|
||||||
@ -42,7 +42,7 @@ AudioFifo::AudioFifo(uint32_t sampleSize, uint32_t numSamples) :
|
|||||||
{
|
{
|
||||||
QMutexLocker mutexLocker(&m_mutex);
|
QMutexLocker mutexLocker(&m_mutex);
|
||||||
|
|
||||||
create(sampleSize, numSamples);
|
create(numSamples);
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioFifo::~AudioFifo()
|
AudioFifo::~AudioFifo()
|
||||||
@ -61,11 +61,11 @@ AudioFifo::~AudioFifo()
|
|||||||
m_size = 0;
|
m_size = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AudioFifo::setSize(uint32_t sampleSize, uint32_t numSamples)
|
bool AudioFifo::setSize(uint32_t numSamples)
|
||||||
{
|
{
|
||||||
QMutexLocker mutexLocker(&m_mutex);
|
QMutexLocker mutexLocker(&m_mutex);
|
||||||
|
|
||||||
return create(sampleSize, numSamples);
|
return create(numSamples);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint AudioFifo::write(const quint8* data, uint32_t numSamples, int timeout_ms)
|
uint AudioFifo::write(const quint8* data, uint32_t numSamples, int timeout_ms)
|
||||||
@ -258,7 +258,7 @@ void AudioFifo::clear()
|
|||||||
m_writeWaitCondition.wakeOne();
|
m_writeWaitCondition.wakeOne();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AudioFifo::create(uint32_t sampleSize, uint32_t numSamples)
|
bool AudioFifo::create(uint32_t numSamples)
|
||||||
{
|
{
|
||||||
if(m_fifo != 0)
|
if(m_fifo != 0)
|
||||||
{
|
{
|
||||||
|
@ -28,10 +28,10 @@ class SDRANGEL_API AudioFifo : public QObject {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
AudioFifo();
|
AudioFifo();
|
||||||
AudioFifo(uint32_t sampleSize, uint32_t numSamples);
|
AudioFifo(uint32_t numSamples);
|
||||||
~AudioFifo();
|
~AudioFifo();
|
||||||
|
|
||||||
bool setSize(uint32_t sampleSize, uint32_t numSamples);
|
bool setSize(uint32_t numSamples);
|
||||||
|
|
||||||
uint32_t write(const quint8* data, uint32_t numSamples, int timeout_ms = INT_MAX);
|
uint32_t write(const quint8* data, uint32_t numSamples, int timeout_ms = INT_MAX);
|
||||||
uint32_t read(quint8* data, uint32_t numSamples, int timeout_ms = INT_MAX);
|
uint32_t read(quint8* data, uint32_t numSamples, int timeout_ms = INT_MAX);
|
||||||
@ -68,7 +68,7 @@ private:
|
|||||||
UDPSink<qint16> *m_udpSink;
|
UDPSink<qint16> *m_udpSink;
|
||||||
bool m_copyToUDP;
|
bool m_copyToUDP;
|
||||||
|
|
||||||
bool create(uint32_t sampleSize, uint32_t numSamples);
|
bool create(uint32_t numSamples);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INCLUDE_AUDIOFIFO_H
|
#endif // INCLUDE_AUDIOFIFO_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user