Tx ph.2: change UpChannelizer filter chain from std::list to std::vector

This commit is contained in:
f4exb 2016-10-30 18:22:33 +01:00
parent 31add4919d
commit 91315913b4
2 changed files with 3 additions and 5 deletions

View File

@ -64,15 +64,13 @@ void UpChannelizer::pull(Sample& sample)
m_mutex.lock();
FilterStages::iterator stage = m_filterStages.begin();
FilterStages::iterator last = m_filterStages.end();
last--;
// m_sampleIn
for (; stage != m_filterStages.end(); ++stage)
{
// let's make it work for one stage only (96 kS/s < SR < 192 kS/s)
if(stage == last)
if(stage == m_filterStages.end() - 1)
{
if ((*stage)->work(&m_sampleIn, &sample))
{

View File

@ -19,7 +19,7 @@
#define SDRBASE_DSP_UPCHANNELIZER_H_
#include <dsp/basebandsamplesource.h>
#include <list>
#include <vector>
#include <QMutex>
#include "util/export.h"
#include "util/message.h"
@ -81,7 +81,7 @@ protected:
return (m_filter->*m_workFunction)(sampleIn, sampleOut);
}
};
typedef std::list<FilterStage*> FilterStages;
typedef std::vector<FilterStage*> FilterStages;
FilterStages m_filterStages;
BasebandSampleSource* m_sampleSource; //!< Modulator
int m_outputSampleRate;