1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-09 09:25:07 -04:00

Tx ph.1: fixed read pointer management when getting new samples

This commit is contained in:
f4exb
2016-10-25 03:31:36 +02:00
parent ee55747c0b
commit 0fc6d95357
6 changed files with 24 additions and 20 deletions
@@ -26,7 +26,6 @@ FileSinkThread::FileSinkThread(std::ofstream *samplesStream, SampleSourceFifo* s
QThread(parent),
m_running(false),
m_ofstream(samplesStream),
m_buf(0),
m_bufsize(0),
m_samplesChunkSize(0),
m_sampleFifo(sampleFifo),
@@ -43,10 +42,6 @@ FileSinkThread::~FileSinkThread()
if (m_running) {
stopWork();
}
if (m_buf != 0) {
free(m_buf);
}
}
void FileSinkThread::startWork()
@@ -132,10 +127,11 @@ void FileSinkThread::tick()
m_throttleToggle = !m_throttleToggle;
}
SampleVector::iterator beginRead;
SampleVector::iterator readUntil;
m_sampleFifo->readAndSignal(beginRead, m_samplesChunkSize);
m_ofstream->write(reinterpret_cast<char*>(&(*beginRead)), m_samplesChunkSize*4);
m_sampleFifo->readAdvance(readUntil, m_samplesChunkSize);
SampleVector::iterator beginRead = readUntil - m_samplesChunkSize;
m_ofstream->write(reinterpret_cast<char*>(&(*beginRead)), m_samplesChunkSize*sizeof(Sample));
m_samplesCount += m_samplesChunkSize;
}
}