1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-02 22:14:45 -04:00

Modulators: changed single Tx channel samples feed handling

This commit is contained in:
f4exb
2016-12-22 23:39:06 +01:00
parent d59bf85afb
commit 1afd8df5f9
19 changed files with 140 additions and 27 deletions
+3 -6
View File
@@ -17,12 +17,10 @@
#include <assert.h>
#include "samplesourcefifo.h"
SampleSourceFifo::SampleSourceFifo(uint32_t size, uint32_t samplesChunkSize) :
SampleSourceFifo::SampleSourceFifo(uint32_t size) :
m_size(size),
m_samplesChunkSize(samplesChunkSize),
m_init(false)
{
assert(samplesChunkSize <= m_size/4);
m_data.resize(2*m_size);
init();
}
@@ -37,7 +35,6 @@ void SampleSourceFifo::resize(uint32_t size, uint32_t samplesChunkSize)
assert(samplesChunkSize <= size/4);
m_size = size;
m_samplesChunkSize = samplesChunkSize;
m_data.resize(2*m_size);
init();
}
@@ -46,14 +43,14 @@ void SampleSourceFifo::init()
{
memset(&m_data[0], 0, sizeof(2*m_size*sizeof(Sample)));
m_ir = 0;
m_iw = m_samplesChunkSize*2;
m_iw = m_size/2;
m_init = true;
}
void SampleSourceFifo::readAdvance(SampleVector::iterator& readUntil, unsigned int nbSamples)
{
// QMutexLocker mutexLocker(&m_mutex);
assert(nbSamples < m_samplesChunkSize/2);
assert(nbSamples < m_size/4);
m_ir = (m_ir + nbSamples) % m_size;
readUntil = m_data.begin() + m_size + m_ir;