2014-11-16 16:51:45 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <queue>
|
|
|
|
#include <vector>
|
|
|
|
#include "wx/wxprec.h"
|
|
|
|
|
|
|
|
#ifndef WX_PRECOMP
|
|
|
|
#include "wx/wx.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "wx/thread.h"
|
|
|
|
|
|
|
|
#include "DemodulatorThreadQueue.h"
|
|
|
|
#include "liquid/liquid.h"
|
2014-11-18 18:00:06 -05:00
|
|
|
#include "AudioThread.h"
|
2014-11-16 16:51:45 -05:00
|
|
|
|
|
|
|
class DemodulatorThread: public wxThread {
|
|
|
|
public:
|
2014-11-17 22:58:56 -05:00
|
|
|
|
|
|
|
DemodulatorThread(DemodulatorThreadQueue* pQueue, DemodulatorThreadParameters *params, int id = 0);
|
2014-11-16 16:51:45 -05:00
|
|
|
~DemodulatorThread();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual ExitCode Entry();
|
|
|
|
DemodulatorThreadQueue* m_pQueue;
|
|
|
|
int m_ID;
|
|
|
|
|
|
|
|
firfilt_crcf fir_filter;
|
|
|
|
firfilt_crcf fir_audio_filter;
|
|
|
|
|
|
|
|
msresamp_crcf resampler;
|
|
|
|
float resample_ratio;
|
|
|
|
|
2014-11-17 22:58:56 -05:00
|
|
|
msresamp_crcf second_resampler;
|
|
|
|
float second_resampler_ratio;
|
2014-11-16 16:51:45 -05:00
|
|
|
|
|
|
|
msresamp_crcf audio_resampler;
|
|
|
|
float audio_resample_ratio;
|
|
|
|
|
2014-11-17 22:58:56 -05:00
|
|
|
DemodulatorThreadParameters params;
|
2014-11-16 16:51:45 -05:00
|
|
|
freqdem fdem;
|
|
|
|
};
|