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

Tx ph.1: fixed source sink initialization

This commit is contained in:
f4exb
2016-10-23 14:14:32 +02:00
parent c7bec82677
commit 4e446b9c7a
2 changed files with 18 additions and 3 deletions
+16 -3
View File
@@ -20,17 +20,25 @@
SampleSourceFifo::SampleSourceFifo(uint32_t size, uint32_t samplesChunkSize) :
m_size(size),
m_samplesChunkSize(samplesChunkSize),
m_ir(0),
m_iw(size/2)
m_init(false)
{
assert(samplesChunkSize <= m_size/4);
m_data.resize(2*m_size);
init();
}
SampleSourceFifo::~SampleSourceFifo()
{}
void SampleSourceFifo::init()
{
memset(&m_data[0], 0, sizeof(2*m_size*sizeof(Sample)));
m_ir = 0;
m_iw = m_samplesChunkSize*2;
m_init = true;
}
void SampleSourceFifo::read(SampleVector::iterator& beginRead, unsigned int nbSamples)
{
QMutexLocker mutexLocker(&m_mutex);
@@ -42,7 +50,12 @@ void SampleSourceFifo::read(SampleVector::iterator& beginRead, unsigned int nbSa
int i_delta = m_iw - m_ir;
if (i_delta > 0)
if (m_init)
{
emit dataWrite();
m_init = false;
}
else if (i_delta > 0)
{
if (i_delta < m_samplesChunkSize)
{