2014-05-18 11:52:39 -04:00
|
|
|
#include "dsp/samplesink.h"
|
2015-08-17 02:29:34 -04:00
|
|
|
#include "util/message.h"
|
2014-05-18 11:52:39 -04:00
|
|
|
|
|
|
|
SampleSink::SampleSink()
|
|
|
|
{
|
2015-08-17 20:47:14 -04:00
|
|
|
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()));
|
2014-05-18 11:52:39 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
SampleSink::~SampleSink()
|
|
|
|
{
|
|
|
|
}
|
2015-08-17 02:29:34 -04:00
|
|
|
|
|
|
|
void SampleSink::handleInputMessages()
|
|
|
|
{
|
|
|
|
Message* message;
|
2015-08-29 20:19:59 -04:00
|
|
|
int queueSize = m_inputMessageQueue.size();
|
2015-08-17 02:29:34 -04:00
|
|
|
|
2015-08-29 20:19:59 -04:00
|
|
|
for (int i = 0; i < queueSize; i++)
|
2015-08-17 02:29:34 -04:00
|
|
|
{
|
2015-08-29 20:19:59 -04:00
|
|
|
message = m_inputMessageQueue.pop();
|
|
|
|
|
2015-08-17 02:29:34 -04:00
|
|
|
if (handleMessage(*message))
|
|
|
|
{
|
|
|
|
delete message;
|
|
|
|
}
|
2015-08-29 20:19:59 -04:00
|
|
|
else
|
|
|
|
{
|
|
|
|
m_inputMessageQueue.push(message);
|
|
|
|
}
|
2015-08-17 02:29:34 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|