mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-19 06:41:47 -05:00
DSD decoder: push samples in scope if squelch open. Close audio if audio mute is on
This commit is contained in:
parent
19317b1aa7
commit
3f92de1d53
@ -34,7 +34,6 @@ DSDDemod::DSDDemod(SampleSink* sampleSink) :
|
|||||||
m_sampleCount(0),
|
m_sampleCount(0),
|
||||||
m_squelchCount(0),
|
m_squelchCount(0),
|
||||||
m_agcAttack(2400),
|
m_agcAttack(2400),
|
||||||
m_audioMute(false),
|
|
||||||
m_squelchOpen(false),
|
m_squelchOpen(false),
|
||||||
m_afSquelch(2, afSqTones),
|
m_afSquelch(2, afSqTones),
|
||||||
m_audioFifo(4, 48000),
|
m_audioFifo(4, 48000),
|
||||||
@ -138,7 +137,7 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
|||||||
|
|
||||||
m_squelchOpen = m_squelchCount == m_agcAttack; // wait for AGC to stabilize
|
m_squelchOpen = m_squelchCount == m_agcAttack; // wait for AGC to stabilize
|
||||||
|
|
||||||
if ((m_squelchOpen) && !m_running.m_audioMute)
|
if (m_squelchOpen)
|
||||||
{
|
{
|
||||||
sample = demod;
|
sample = demod;
|
||||||
}
|
}
|
||||||
@ -151,8 +150,17 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
|||||||
m_scopeSampleBuffer.push_back(s);
|
m_scopeSampleBuffer.push_back(s);
|
||||||
m_dsdInBuffer[m_dsdInCount++] = sample;
|
m_dsdInBuffer[m_dsdInCount++] = sample;
|
||||||
|
|
||||||
|
if (m_running.m_audioMute)
|
||||||
|
{
|
||||||
|
m_audioBuffer[m_audioBufferFill].l = 0;
|
||||||
|
m_audioBuffer[m_audioBufferFill].r = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_audioBuffer[m_audioBufferFill].l = sample;
|
m_audioBuffer[m_audioBufferFill].l = sample;
|
||||||
m_audioBuffer[m_audioBufferFill].r = sample;
|
m_audioBuffer[m_audioBufferFill].r = sample;
|
||||||
|
}
|
||||||
|
|
||||||
++m_audioBufferFill;
|
++m_audioBufferFill;
|
||||||
|
|
||||||
if (m_audioBufferFill >= m_audioBuffer.size())
|
if (m_audioBufferFill >= m_audioBuffer.size())
|
||||||
|
@ -159,7 +159,6 @@ private:
|
|||||||
int m_sampleCount;
|
int m_sampleCount;
|
||||||
int m_squelchCount;
|
int m_squelchCount;
|
||||||
int m_agcAttack;
|
int m_agcAttack;
|
||||||
bool m_audioMute;
|
|
||||||
|
|
||||||
double m_squelchLevel;
|
double m_squelchLevel;
|
||||||
bool m_squelchOpen;
|
bool m_squelchOpen;
|
||||||
|
Loading…
Reference in New Issue
Block a user