19 #ifndef SDRBASE_AMBE_AMBEWORKER_H_ 20 #define SDRBASE_AMBE_AMBEWORKER_H_ 27 #include "dvcontroller.h" 53 const unsigned char *
getMbeFrame()
const {
return m_mbeFrame; }
54 SerialDV::DVRate
getMbeRate()
const {
return m_mbeRate; }
62 const unsigned char *mbeFrame,
65 unsigned char channels,
70 return new MsgMbeDecode(mbeFrame, (SerialDV::DVRate) mbeRateIndex, volumeIndex, channels, useHP, upsampling, audioFifo);
74 unsigned char m_mbeFrame[SerialDV::MBE_FRAME_MAX_LENGTH_BYTES];
83 SerialDV::DVRate mbeRate,
85 unsigned char channels,
91 m_volumeIndex(volumeIndex),
94 m_upsampling(upsampling),
95 m_audioFifo(audioFifo)
97 memcpy((
void *) m_mbeFrame, (
const void *) mbeFrame, SerialDV::DVController::getNbMbeBytes(m_mbeRate));
104 void pushMbeFrame(
const unsigned char *mbeFrame,
107 unsigned char channels,
112 bool open(
const std::string& deviceRef);
131 void handleInputMessages();
134 void upsample(
int upsampling,
short *in,
int nbSamplesIn,
unsigned char channels);
135 void noUpsample(
short *in,
int nbSamplesIn,
unsigned char channels);
136 void setVolumeFactors();
144 short m_dvAudioSamples[SerialDV::MBE_AUDIO_BLOCK_SIZE];
152 float m_upsamplingFactors[7];
156 #endif // SDRBASE_AMBE_AMBEWORKER_H_
MBEAudioInterpolatorFilter m_upsampleFilter
AudioCompressor m_compressor
std::vector< AudioSample > AudioVector
AudioFifo * getAudioFifo()
static MsgTest * create()
SerialDV::DVController m_dvController
static MsgMbeDecode * create(const unsigned char *mbeFrame, int mbeRateIndex, int volumeIndex, unsigned char channels, bool useHP, int upsampling, AudioFifo *audioFifo)
float m_upsamplerLastValue
void * create(QString type)
int getUpsampling() const
#define MESSAGE_CLASS_DECLARATION
unsigned char getChannels() const
MsgMbeDecode(const unsigned char *mbeFrame, SerialDV::DVRate mbeRate, int volumeIndex, unsigned char channels, bool useHP, int upsampling, AudioFifo *audioFifo)
SerialDV::DVRate getMbeRate() const
SerialDV::DVRate m_mbeRate
AudioVector m_audioBuffer
MessageQueue m_inputMessageQueue
Queue for asynchronous inbound communication.
const unsigned char * getMbeFrame() const
int getVolumeIndex() const