24 #ifndef INCLUDE_REMOTESINK_H_ 25 #define INCLUDE_REMOTESINK_H_ 30 #include <QNetworkRequest> 36 class QNetworkAccessManager;
107 m_log2Decim(log2Decim),
108 m_filterChainHash(filterChainHash)
116 virtual void feed(
const SampleVector::const_iterator& begin,
const SampleVector::const_iterator& end,
bool po);
117 virtual void start();
122 virtual void getTitle(QString& title) { title =
"Remote Sink"; }
134 (void) sinkElseSource;
140 QString& errorMessage);
144 const QStringList& channelSettingsKeys,
146 QString& errorMessage);
155 void setTxDelay(
int txDelay,
int nbBlocksFEC);
158 void setChannelizer(
unsigned int log2Decim,
unsigned int filterChainHash);
virtual int getNbSinkStreams() const
void networkManagerFinished(QNetworkReply *reply)
void validateFilterChainHash(RemoteSinkSettings &settings)
int getSampleRate() const
uint16_t m_frameCount
transmission frame count
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings &response, const RemoteSinkSettings &settings)
RemoteSinkThread * m_sinkThread
uint64_t m_centerFrequency
QNetworkAccessManager * m_networkManager
QNetworkRequest m_networkRequest
int64_t m_frequencyOffset
RemoteMetaDataFEC m_currentMetaFEC
RemoteSinkSettings m_settings
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
void calculateFrequencyOffset()
DownChannelizer * m_channelizer
RemoteDataBlock * m_dataBlock
void setDataAddress(const QString &address)
uint32_t m_deviceSampleRate
ThreadedBasebandSampleSink * m_threadedChannelizer
virtual qint64 getCenterFrequency() const
Applies to a default stream.
virtual int getNbSourceStreams() const
static const QString m_channelIdURI
virtual void getIdentifier(QString &id)
static const QString m_channelId
void setChannelizer(unsigned int log2Decim, unsigned int filterChainHash)
#define MESSAGE_CLASS_DECLARATION
void applySettings(const RemoteSinkSettings &settings, bool force=false)
int m_txBlockIndex
Current index in blocks to transmit in the Tx row.
void setSampleRate(uint32_t sampleRate)
virtual void feed(const SampleVector::const_iterator &begin, const SampleVector::const_iterator &end, bool po)
MsgSampleRateNotification(int sampleRate)
static MsgSampleRateNotification * create(int sampleRate)
virtual void getTitle(QString &title)
void setDataPort(uint16_t port)
virtual int webapiSettingsGet(SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
RemoteSink(DeviceAPI *deviceAPI)
void dataBlockAvailable(RemoteDataBlock *dataBlock)
virtual QByteArray serialize() const
RemoteSuperBlock m_superBlock
virtual int webapiSettingsPutPatch(bool force, const QStringList &channelSettingsKeys, SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
virtual bool deserialize(const QByteArray &data)
int m_sampleIndex
Current sample index in protected block data.
void webapiReverseSendSettings(QList< QString > &channelSettingsKeys, const RemoteSinkSettings &settings, bool force)
void setNbBlocksFEC(int nbBlocksFEC)
void setCenterFrequency(uint64_t centerFrequency)
void setTxDelay(int txDelay, int nbBlocksFEC)
unsigned __int64 uint64_t
virtual bool handleMessage(const Message &cmd)
Processing of a message. Returns true if message has actually been processed.