From 053e4a31cdbff58e7baf448e53e7d4e174a67acc Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 17 Mar 2022 21:10:30 +0100 Subject: [PATCH] Add label to SampleSinkFifo to mention controlling component in error messages --- plugins/channelrx/chanalyzer/chanalyzer.cpp | 5 +++ .../channelrx/chanalyzer/chanalyzerbaseband.h | 1 + plugins/channelrx/demodadsb/adsbdemod.cpp | 5 +++ .../channelrx/demodadsb/adsbdemodbaseband.h | 1 + plugins/channelrx/demodais/aisdemod.cpp | 5 +++ plugins/channelrx/demodais/aisdemodbaseband.h | 1 + plugins/channelrx/demodam/amdemod.cpp | 35 ++++++++++++++++++- plugins/channelrx/demodam/amdemod.h | 2 ++ plugins/channelrx/demodam/amdemodbaseband.h | 1 + plugins/channelrx/demodapt/aptdemod.cpp | 5 +++ plugins/channelrx/demodapt/aptdemodbaseband.h | 1 + plugins/channelrx/demodatv/atvdemod.cpp | 5 +++ plugins/channelrx/demodatv/atvdemodbaseband.h | 1 + plugins/channelrx/demodbfm/bfmdemod.cpp | 5 +++ plugins/channelrx/demodbfm/bfmdemodbaseband.h | 1 + .../demodchirpchat/chirpchatdemod.cpp | 5 +++ .../demodchirpchat/chirpchatdemodbaseband.h | 1 + plugins/channelrx/demoddab/dabdemod.cpp | 5 +++ plugins/channelrx/demoddab/dabdemodbaseband.h | 1 + plugins/channelrx/demoddatv/datvdemod.cpp | 7 +++- .../channelrx/demoddatv/datvdemodbaseband.h | 1 + plugins/channelrx/demoddsd/dsddemod.cpp | 5 +++ plugins/channelrx/demoddsd/dsddemodbaseband.h | 1 + plugins/channelrx/demodfreedv/freedvdemod.cpp | 5 +++ .../demodfreedv/freedvdemodbaseband.h | 3 +- plugins/channelrx/demodnfm/nfmdemod.cpp | 5 +++ plugins/channelrx/demodnfm/nfmdemodbaseband.h | 1 + plugins/channelrx/demodpacket/packetdemod.cpp | 5 +++ .../demodpacket/packetdemodbaseband.h | 1 + plugins/channelrx/demodpager/pagerdemod.cpp | 5 +++ .../channelrx/demodpager/pagerdemodbaseband.h | 1 + .../demodradiosonde/radiosondedemod.cpp | 5 +++ .../demodradiosonde/radiosondedemodbaseband.h | 1 + plugins/channelrx/demodssb/ssbdemod.cpp | 5 +++ plugins/channelrx/demodssb/ssbdemodbaseband.h | 1 + plugins/channelrx/demodvor/vordemod.cpp | 5 +++ plugins/channelrx/demodvor/vordemodbaseband.h | 1 + plugins/channelrx/demodvorsc/vordemodsc.cpp | 5 +++ .../channelrx/demodvorsc/vordemodscbaseband.h | 1 + plugins/channelrx/demodwfm/wfmdemod.cpp | 5 +++ plugins/channelrx/demodwfm/wfmdemodbaseband.h | 1 + plugins/channelrx/filesink/filesink.cpp | 5 +++ plugins/channelrx/filesink/filesinkbaseband.h | 1 + plugins/channelrx/freqtracker/freqtracker.cpp | 5 +++ .../freqtracker/freqtrackerbaseband.h | 1 + plugins/channelrx/localsink/localsink.cpp | 5 +++ .../channelrx/localsink/localsinkbaseband.h | 1 + plugins/channelrx/noisefigure/noisefigure.cpp | 5 +++ .../noisefigure/noisefigurebaseband.h | 1 + .../radioastronomy/radioastronomy.cpp | 5 +++ .../radioastronomy/radioastronomybaseband.h | 1 + plugins/channelrx/radioclock/radioclock.cpp | 5 +++ .../channelrx/radioclock/radioclockbaseband.h | 1 + plugins/channelrx/remotesink/remotesink.cpp | 5 +++ .../channelrx/remotesink/remotesinkbaseband.h | 1 + .../channelrx/sigmffilesink/sigmffilesink.cpp | 5 +++ .../sigmffilesink/sigmffilesinkbaseband.h | 1 + plugins/channelrx/udpsink/udpsink.cpp | 5 +++ plugins/channelrx/udpsink/udpsinkbaseband.h | 1 + plugins/samplesource/airspy/airspyinput.cpp | 1 + .../samplesource/airspyhf/airspyhfinput.cpp | 1 + .../samplesource/audioinput/audioinput.cpp | 1 + .../bladerf1input/bladerf1input.cpp | 1 + .../bladerf2input/bladerf2input.cpp | 1 + plugins/samplesource/fcdpro/fcdproinput.cpp | 1 + .../fcdproplus/fcdproplusinput.cpp | 1 + plugins/samplesource/fileinput/fileinput.cpp | 3 +- .../samplesource/hackrfinput/hackrfinput.cpp | 1 + plugins/samplesource/kiwisdr/kiwisdrinput.cpp | 3 +- .../limesdrinput/limesdrinput.cpp | 1 + .../samplesource/localinput/localinput.cpp | 1 + plugins/samplesource/perseus/perseusinput.cpp | 1 + .../plutosdrinput/plutosdrinput.cpp | 1 + .../samplesource/remoteinput/remoteinput.cpp | 3 +- plugins/samplesource/rtlsdr/rtlsdrinput.cpp | 3 +- plugins/samplesource/sdrplay/sdrplayinput.cpp | 1 + .../samplesource/sdrplayv3/sdrplayv3input.cpp | 1 + .../sigmffileinput/sigmffileinput.cpp | 3 +- .../soapysdrinput/soapysdrinput.cpp | 1 + .../testsource/testsourceinput.cpp | 3 +- plugins/samplesource/usrpinput/usrpinput.cpp | 1 + plugins/samplesource/xtrxinput/xtrxinput.cpp | 1 + sdrbase/dsp/samplesinkfifo.cpp | 24 ++++++++----- sdrbase/dsp/samplesinkfifo.h | 2 ++ 84 files changed, 253 insertions(+), 18 deletions(-) diff --git a/plugins/channelrx/chanalyzer/chanalyzer.cpp b/plugins/channelrx/chanalyzer/chanalyzer.cpp index 5dc7bf724..4fcfe330e 100644 --- a/plugins/channelrx/chanalyzer/chanalyzer.cpp +++ b/plugins/channelrx/chanalyzer/chanalyzer.cpp @@ -48,6 +48,11 @@ ChannelAnalyzer::ChannelAnalyzer(DeviceAPI *deviceAPI) : setObjectName(m_channelId); getChannelSampleRate(); m_basebandSink = new ChannelAnalyzerBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(&m_thread); applySettings(m_settings, true); diff --git a/plugins/channelrx/chanalyzer/chanalyzerbaseband.h b/plugins/channelrx/chanalyzer/chanalyzerbaseband.h index 577c781be..86d8a1398 100644 --- a/plugins/channelrx/chanalyzer/chanalyzerbaseband.h +++ b/plugins/channelrx/chanalyzer/chanalyzerbaseband.h @@ -72,6 +72,7 @@ public: Real getPllFrequency() const { return m_sink.getPllFrequency(); } Real getPllDeltaPhase() const { return m_sink.getPllDeltaPhase(); } Real getPllPhase() const { return m_sink.getPllPhase(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodadsb/adsbdemod.cpp b/plugins/channelrx/demodadsb/adsbdemod.cpp index 74fda944b..d6cb74106 100644 --- a/plugins/channelrx/demodadsb/adsbdemod.cpp +++ b/plugins/channelrx/demodadsb/adsbdemod.cpp @@ -65,6 +65,11 @@ ADSBDemod::ADSBDemod(DeviceAPI *devieAPI) : m_thread = new QThread(this); m_basebandSink = new ADSBDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(m_thread); m_worker = new ADSBDemodWorker(); diff --git a/plugins/channelrx/demodadsb/adsbdemodbaseband.h b/plugins/channelrx/demodadsb/adsbdemodbaseband.h index 39e223fc4..1b4501049 100644 --- a/plugins/channelrx/demodadsb/adsbdemodbaseband.h +++ b/plugins/channelrx/demodadsb/adsbdemodbaseband.h @@ -69,6 +69,7 @@ public: void setMessageQueueToGUI(MessageQueue *messageQueue) { m_sink.setMessageQueueToGUI(messageQueue); } void setMessageQueueToWorker(MessageQueue *messageQueue) { m_sink.setMessageQueueToWorker(messageQueue); } void setBasebandSampleRate(int sampleRate); + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodais/aisdemod.cpp b/plugins/channelrx/demodais/aisdemod.cpp index d411058e5..05bcf09fd 100644 --- a/plugins/channelrx/demodais/aisdemod.cpp +++ b/plugins/channelrx/demodais/aisdemod.cpp @@ -53,6 +53,11 @@ AISDemod::AISDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new AISDemodBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/demodais/aisdemodbaseband.h b/plugins/channelrx/demodais/aisdemodbaseband.h index ce1766cc4..71114f869 100644 --- a/plugins/channelrx/demodais/aisdemodbaseband.h +++ b/plugins/channelrx/demodais/aisdemodbaseband.h @@ -77,6 +77,7 @@ public: void setChannel(ChannelAPI *channel); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodam/amdemod.cpp b/plugins/channelrx/demodam/amdemod.cpp index 21fad24d0..3f0cdb59f 100644 --- a/plugins/channelrx/demodam/amdemod.cpp +++ b/plugins/channelrx/demodam/amdemod.cpp @@ -34,6 +34,7 @@ #include "dsp/dspengine.h" #include "dsp/dspcommands.h" +#include "dsp/devicesamplesource.h" #include "device/deviceapi.h" #include "feature/feature.h" #include "settings/serializable.h" @@ -49,11 +50,17 @@ const int AMDemod::m_udpBlockSize = 512; AMDemod::AMDemod(DeviceAPI *deviceAPI) : ChannelAPI(m_channelIdURI, ChannelAPI::StreamSingleSink), m_deviceAPI(deviceAPI), - m_basebandSampleRate(0) + m_basebandSampleRate(0), + m_lastTs(0) { setObjectName(m_channelId); m_basebandSink = new AMDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); @@ -65,11 +72,25 @@ AMDemod::AMDemod(DeviceAPI *deviceAPI) : m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(&m_channelMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleChannelMessages())); + // Experimental: + // QObject::connect( + // m_deviceAPI->getSampleSource()->getSampleFifo(), + // &SampleSinkFifo::written, + // this, + // &AMDemod::handleWrittenToFifo + // ); } AMDemod::~AMDemod() { qDebug("AMDemod::~AMDemod"); + // Experimental: + // QObject::disconnect( + // m_deviceAPI->getSampleSource()->getSampleFifo(), + // &SampleSinkFifo::written, + // this, + // &AMDemod::handleWrittenToFifo + // ); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); delete m_networkManager; m_deviceAPI->removeChannelSinkAPI(this); @@ -645,3 +666,15 @@ void AMDemod::handleChannelMessages() } } } + +void AMDemod::handleWrittenToFifo(int nsamples, qint64 timestamp) +{ + QDateTime dt; + dt.setMSecsSinceEpoch(MainCore::instance()->getStartMsecsSinceEpoch() + timestamp/1000000); + qDebug("AMDemod::handleWrittenToFifo: %s: nsamples: %d, dts: %lld sr: %f", + qPrintable(dt.toString("yyyy.MM.dd hh:mm:ss.zzz")), + nsamples, + timestamp - m_lastTs, nsamples*1e9 / (timestamp - m_lastTs) + ); + m_lastTs = timestamp; +} diff --git a/plugins/channelrx/demodam/amdemod.h b/plugins/channelrx/demodam/amdemod.h index b73641222..b17bab7d6 100644 --- a/plugins/channelrx/demodam/amdemod.h +++ b/plugins/channelrx/demodam/amdemod.h @@ -140,6 +140,7 @@ private: QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; + qint64 m_lastTs; virtual bool handleMessage(const Message& cmd); void applySettings(const AMDemodSettings& settings, bool force = false); @@ -162,6 +163,7 @@ private: private slots: void networkManagerFinished(QNetworkReply *reply); void handleChannelMessages(); + void handleWrittenToFifo(int nsamples, qint64 timestamp); }; #endif // INCLUDE_AMDEMOD_H diff --git a/plugins/channelrx/demodam/amdemodbaseband.h b/plugins/channelrx/demodam/amdemodbaseband.h index 9c6c82578..7bfb58650 100644 --- a/plugins/channelrx/demodam/amdemodbaseband.h +++ b/plugins/channelrx/demodam/amdemodbaseband.h @@ -74,6 +74,7 @@ public: Real getPllFrequency() const { return m_sink.getPllFrequency(); } void setChannel(ChannelAPI *channel); bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodapt/aptdemod.cpp b/plugins/channelrx/demodapt/aptdemod.cpp index 7ba83b91a..d90a3ec70 100644 --- a/plugins/channelrx/demodapt/aptdemod.cpp +++ b/plugins/channelrx/demodapt/aptdemod.cpp @@ -61,6 +61,11 @@ APTDemod::APTDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new APTDemodBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(&m_thread); m_imageWorker = new APTDemodImageWorker(this); diff --git a/plugins/channelrx/demodapt/aptdemodbaseband.h b/plugins/channelrx/demodapt/aptdemodbaseband.h index 2d5a0e5a2..92797e8bc 100644 --- a/plugins/channelrx/demodapt/aptdemodbaseband.h +++ b/plugins/channelrx/demodapt/aptdemodbaseband.h @@ -72,6 +72,7 @@ public: void setBasebandSampleRate(int sampleRate); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodatv/atvdemod.cpp b/plugins/channelrx/demodatv/atvdemod.cpp index a78f58bf8..a73d866e2 100644 --- a/plugins/channelrx/demodatv/atvdemod.cpp +++ b/plugins/channelrx/demodatv/atvdemod.cpp @@ -42,6 +42,11 @@ ATVDemod::ATVDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new ATVDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(&m_thread); applySettings(m_settings, true); diff --git a/plugins/channelrx/demodatv/atvdemodbaseband.h b/plugins/channelrx/demodatv/atvdemodbaseband.h index 01b658482..c09645d3f 100644 --- a/plugins/channelrx/demodatv/atvdemodbaseband.h +++ b/plugins/channelrx/demodatv/atvdemodbaseband.h @@ -72,6 +72,7 @@ public: void setVideoTabIndex(int videoTabIndex) { m_sink.setVideoTabIndex(videoTabIndex); } void setBasebandSampleRate(int sampleRate); //!< To be used when supporting thread is stopped bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodbfm/bfmdemod.cpp b/plugins/channelrx/demodbfm/bfmdemod.cpp index cd79ede79..760bc4474 100644 --- a/plugins/channelrx/demodbfm/bfmdemod.cpp +++ b/plugins/channelrx/demodbfm/bfmdemod.cpp @@ -57,6 +57,11 @@ BFMDemod::BFMDemod(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new BFMDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demodbfm/bfmdemodbaseband.h b/plugins/channelrx/demodbfm/bfmdemodbaseband.h index d95ffeb5d..c2d706425 100644 --- a/plugins/channelrx/demodbfm/bfmdemodbaseband.h +++ b/plugins/channelrx/demodbfm/bfmdemodbaseband.h @@ -79,6 +79,7 @@ public: Real getDemodFclk() const { return m_sink.getDemodFclk(); } void getMagSqLevels(double& avg, double& peak, int& nbSamples) { m_sink.getMagSqLevels(avg, peak, nbSamples); } RDSParser& getRDSParser() { return m_sink.getRDSParser(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp b/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp index d271348d0..594c3a98e 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp +++ b/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp @@ -72,6 +72,11 @@ ChirpChatDemod::ChirpChatDemod(DeviceAPI* deviceAPI) : m_thread = new QThread(this); m_basebandSink = new ChirpChatDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); m_basebandSink->setDecoderMessageQueue(getInputMessageQueue()); // Decoder held on the main thread m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodbaseband.h b/plugins/channelrx/demodchirpchat/chirpchatdemodbaseband.h index fc7bf8182..2bfa5eca2 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodbaseband.h +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodbaseband.h @@ -68,6 +68,7 @@ public: void setBasebandSampleRate(int sampleRate); void setDecoderMessageQueue(MessageQueue *messageQueue) { m_sink.setDecoderMessageQueue(messageQueue); } void setSpectrumSink(BasebandSampleSink* spectrumSink) { m_sink.setSpectrumSink(spectrumSink); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demoddab/dabdemod.cpp b/plugins/channelrx/demoddab/dabdemod.cpp index 5acef85aa..872764380 100644 --- a/plugins/channelrx/demoddab/dabdemod.cpp +++ b/plugins/channelrx/demoddab/dabdemod.cpp @@ -64,6 +64,11 @@ DABDemod::DABDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new DABDemodBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/demoddab/dabdemodbaseband.h b/plugins/channelrx/demoddab/dabdemodbaseband.h index 51c92ae08..ccc3684e7 100644 --- a/plugins/channelrx/demoddab/dabdemodbaseband.h +++ b/plugins/channelrx/demoddab/dabdemodbaseband.h @@ -75,6 +75,7 @@ public: double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } int getAudioSampleRate() const { return m_sink.getAudioSampleRate(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demoddatv/datvdemod.cpp b/plugins/channelrx/demoddatv/datvdemod.cpp index 1fb98bbbd..7d2c1765a 100644 --- a/plugins/channelrx/demoddatv/datvdemod.cpp +++ b/plugins/channelrx/demoddatv/datvdemod.cpp @@ -44,8 +44,13 @@ DATVDemod::DATVDemod(DeviceAPI *deviceAPI) : m_basebandSampleRate(0) { qDebug("DATVDemod::DATVDemod"); - setObjectName("DATVDemod"); + setObjectName(m_channelId); m_basebandSink = new DATVDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(&m_thread); applySettings(m_settings, true); diff --git a/plugins/channelrx/demoddatv/datvdemodbaseband.h b/plugins/channelrx/demoddatv/datvdemodbaseband.h index bfabc3bbd..a3eb77627 100644 --- a/plugins/channelrx/demoddatv/datvdemodbaseband.h +++ b/plugins/channelrx/demoddatv/datvdemodbaseband.h @@ -90,6 +90,7 @@ public: int getModcodCodeRate() const { return m_sink.getModcodCodeRate(); } bool isCstlnSetByModcod() const { return m_sink.isCstlnSetByModcod(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demoddsd/dsddemod.cpp b/plugins/channelrx/demoddsd/dsddemod.cpp index 0d481f3d0..f8d3d68f1 100644 --- a/plugins/channelrx/demoddsd/dsddemod.cpp +++ b/plugins/channelrx/demoddsd/dsddemod.cpp @@ -60,6 +60,11 @@ DSDDemod::DSDDemod(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new DSDDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demoddsd/dsddemodbaseband.h b/plugins/channelrx/demoddsd/dsddemodbaseband.h index 97b18eba5..3b2e5875b 100644 --- a/plugins/channelrx/demoddsd/dsddemodbaseband.h +++ b/plugins/channelrx/demoddsd/dsddemodbaseband.h @@ -73,6 +73,7 @@ public: const DSDDecoder& getDecoder() const { return m_sink.getDecoder(); } const char *updateAndGetStatusText() { return m_sink.updateAndGetStatusText(); } void setChannel(ChannelAPI *channel); + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodfreedv/freedvdemod.cpp b/plugins/channelrx/demodfreedv/freedvdemod.cpp index 6388653a7..244580500 100644 --- a/plugins/channelrx/demodfreedv/freedvdemod.cpp +++ b/plugins/channelrx/demodfreedv/freedvdemod.cpp @@ -51,6 +51,11 @@ FreeDVDemod::FreeDVDemod(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new FreeDVDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demodfreedv/freedvdemodbaseband.h b/plugins/channelrx/demodfreedv/freedvdemodbaseband.h index 47d9919c6..a18e3b47f 100644 --- a/plugins/channelrx/demodfreedv/freedvdemodbaseband.h +++ b/plugins/channelrx/demodfreedv/freedvdemodbaseband.h @@ -89,6 +89,7 @@ public: int getBER() const { return m_sink.getBER(); } float getFrequencyOffset() const { return m_sink.getFrequencyOffset(); } bool isSync() const { return m_sink.isSync(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } signals: /** @@ -117,4 +118,4 @@ private slots: void handleData(); //!< Handle data when samples have to be processed }; -#endif // INCLUDE_DSDDEMODBASEBAND_H \ No newline at end of file +#endif // INCLUDE_DSDDEMODBASEBAND_H diff --git a/plugins/channelrx/demodnfm/nfmdemod.cpp b/plugins/channelrx/demodnfm/nfmdemod.cpp index 852395044..ff97ddcd9 100644 --- a/plugins/channelrx/demodnfm/nfmdemod.cpp +++ b/plugins/channelrx/demodnfm/nfmdemod.cpp @@ -59,6 +59,11 @@ NFMDemod::NFMDemod(DeviceAPI *devieAPI) : m_thread = new QThread(this); m_basebandSink = new NFMDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demodnfm/nfmdemodbaseband.h b/plugins/channelrx/demodnfm/nfmdemodbaseband.h index d88d4a042..33c86d06b 100644 --- a/plugins/channelrx/demodnfm/nfmdemodbaseband.h +++ b/plugins/channelrx/demodnfm/nfmdemodbaseband.h @@ -70,6 +70,7 @@ public: int getAudioSampleRate() const { return m_sink.getAudioSampleRate(); } void setBasebandSampleRate(int sampleRate); void setChannel(ChannelAPI *channel); + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodpacket/packetdemod.cpp b/plugins/channelrx/demodpacket/packetdemod.cpp index e0ab5aa7a..361a62e2c 100644 --- a/plugins/channelrx/demodpacket/packetdemod.cpp +++ b/plugins/channelrx/demodpacket/packetdemod.cpp @@ -55,6 +55,11 @@ PacketDemod::PacketDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new PacketDemodBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/demodpacket/packetdemodbaseband.h b/plugins/channelrx/demodpacket/packetdemodbaseband.h index b988e4cfc..5a7ba097d 100644 --- a/plugins/channelrx/demodpacket/packetdemodbaseband.h +++ b/plugins/channelrx/demodpacket/packetdemodbaseband.h @@ -75,6 +75,7 @@ public: void setChannel(ChannelAPI *channel); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodpager/pagerdemod.cpp b/plugins/channelrx/demodpager/pagerdemod.cpp index bcabe7b1b..edc8649cd 100644 --- a/plugins/channelrx/demodpager/pagerdemod.cpp +++ b/plugins/channelrx/demodpager/pagerdemod.cpp @@ -48,6 +48,11 @@ PagerDemod::PagerDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new PagerDemodBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/demodpager/pagerdemodbaseband.h b/plugins/channelrx/demodpager/pagerdemodbaseband.h index dbedff5a3..569061fce 100644 --- a/plugins/channelrx/demodpager/pagerdemodbaseband.h +++ b/plugins/channelrx/demodpager/pagerdemodbaseband.h @@ -78,6 +78,7 @@ public: void setChannel(ChannelAPI *channel); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodradiosonde/radiosondedemod.cpp b/plugins/channelrx/demodradiosonde/radiosondedemod.cpp index bfe53a504..02b413fef 100644 --- a/plugins/channelrx/demodradiosonde/radiosondedemod.cpp +++ b/plugins/channelrx/demodradiosonde/radiosondedemod.cpp @@ -52,6 +52,11 @@ RadiosondeDemod::RadiosondeDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new RadiosondeDemodBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/demodradiosonde/radiosondedemodbaseband.h b/plugins/channelrx/demodradiosonde/radiosondedemodbaseband.h index 3ba183ca8..182aa3360 100644 --- a/plugins/channelrx/demodradiosonde/radiosondedemodbaseband.h +++ b/plugins/channelrx/demodradiosonde/radiosondedemodbaseband.h @@ -77,6 +77,7 @@ public: void setChannel(ChannelAPI *channel); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodssb/ssbdemod.cpp b/plugins/channelrx/demodssb/ssbdemod.cpp index f6f5a6bc1..6a75f9f1d 100644 --- a/plugins/channelrx/demodssb/ssbdemod.cpp +++ b/plugins/channelrx/demodssb/ssbdemod.cpp @@ -57,6 +57,11 @@ SSBDemod::SSBDemod(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new SSBDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demodssb/ssbdemodbaseband.h b/plugins/channelrx/demodssb/ssbdemodbaseband.h index 503b2c7ca..456b7ba40 100644 --- a/plugins/channelrx/demodssb/ssbdemodbaseband.h +++ b/plugins/channelrx/demodssb/ssbdemodbaseband.h @@ -72,6 +72,7 @@ public: void setBasebandSampleRate(int sampleRate); void setMessageQueueToGUI(MessageQueue *messageQueue) { m_messageQueueToGUI = messageQueue; } void setChannel(ChannelAPI *channel); + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodvor/vordemod.cpp b/plugins/channelrx/demodvor/vordemod.cpp index 63ba39229..aa1a49703 100644 --- a/plugins/channelrx/demodvor/vordemod.cpp +++ b/plugins/channelrx/demodvor/vordemod.cpp @@ -54,6 +54,11 @@ VORDemod::VORDemod(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new VORDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(&m_thread); applySettings(m_settings, true); diff --git a/plugins/channelrx/demodvor/vordemodbaseband.h b/plugins/channelrx/demodvor/vordemodbaseband.h index 72323f8bd..5dad65a95 100644 --- a/plugins/channelrx/demodvor/vordemodbaseband.h +++ b/plugins/channelrx/demodvor/vordemodbaseband.h @@ -110,6 +110,7 @@ public: return 0.0; } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodvorsc/vordemodsc.cpp b/plugins/channelrx/demodvorsc/vordemodsc.cpp index c726f91a5..5db79e8e8 100644 --- a/plugins/channelrx/demodvorsc/vordemodsc.cpp +++ b/plugins/channelrx/demodvorsc/vordemodsc.cpp @@ -55,6 +55,11 @@ VORDemodSC::VORDemodSC(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new VORDemodSCBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/demodvorsc/vordemodscbaseband.h b/plugins/channelrx/demodvorsc/vordemodscbaseband.h index ab03f8bc7..84a4adc98 100644 --- a/plugins/channelrx/demodvorsc/vordemodscbaseband.h +++ b/plugins/channelrx/demodvorsc/vordemodscbaseband.h @@ -70,6 +70,7 @@ public: int getAudioSampleRate() const { return m_sink.getAudioSampleRate(); } double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/demodwfm/wfmdemod.cpp b/plugins/channelrx/demodwfm/wfmdemod.cpp index 525b96054..c0a6e28d1 100644 --- a/plugins/channelrx/demodwfm/wfmdemod.cpp +++ b/plugins/channelrx/demodwfm/wfmdemod.cpp @@ -60,6 +60,11 @@ WFMDemod::WFMDemod(DeviceAPI* deviceAPI) : m_thread = new QThread(this); m_basebandSink = new WFMDemodBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/demodwfm/wfmdemodbaseband.h b/plugins/channelrx/demodwfm/wfmdemodbaseband.h index 606686031..d8e6e6498 100644 --- a/plugins/channelrx/demodwfm/wfmdemodbaseband.h +++ b/plugins/channelrx/demodwfm/wfmdemodbaseband.h @@ -71,6 +71,7 @@ public: int getSquelchState() const { return m_sink.getSquelchState(); } void getMagSqLevels(double& avg, double& peak, int& nbSamples) { m_sink.getMagSqLevels(avg, peak, nbSamples); } void setChannel(ChannelAPI *channel); + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/filesink/filesink.cpp b/plugins/channelrx/filesink/filesink.cpp index 721ccec57..89489a521 100644 --- a/plugins/channelrx/filesink/filesink.cpp +++ b/plugins/channelrx/filesink/filesink.cpp @@ -59,6 +59,11 @@ FileSink::FileSink(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new FileSinkBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/filesink/filesinkbaseband.h b/plugins/channelrx/filesink/filesinkbaseband.h index c9e541ba9..cc006096e 100644 --- a/plugins/channelrx/filesink/filesinkbaseband.h +++ b/plugins/channelrx/filesink/filesinkbaseband.h @@ -101,6 +101,7 @@ public: bool isRecording() const { return m_sink.isRecording(); } float getSpecMax() const { return m_specMax; } int getSinkSampleRate() const { return m_sink.getSampleRate(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/freqtracker/freqtracker.cpp b/plugins/channelrx/freqtracker/freqtracker.cpp index 27bb33304..fdcbc5467 100644 --- a/plugins/channelrx/freqtracker/freqtracker.cpp +++ b/plugins/channelrx/freqtracker/freqtracker.cpp @@ -61,6 +61,11 @@ FreqTracker::FreqTracker(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new FreqTrackerBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); propagateMessageQueue(getInputMessageQueue()); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/freqtracker/freqtrackerbaseband.h b/plugins/channelrx/freqtracker/freqtrackerbaseband.h index 716b9ac7a..0002abfd9 100644 --- a/plugins/channelrx/freqtracker/freqtrackerbaseband.h +++ b/plugins/channelrx/freqtracker/freqtrackerbaseband.h @@ -74,6 +74,7 @@ public: bool getPllLocked() const { return m_sink.getPllLocked(); } Real getFrequency() const { return m_sink.getFrequency(); }; Real getAvgDeltaFreq() const { return m_sink.getAvgDeltaFreq(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/localsink/localsink.cpp b/plugins/channelrx/localsink/localsink.cpp index 596785566..fbc0b1060 100644 --- a/plugins/channelrx/localsink/localsink.cpp +++ b/plugins/channelrx/localsink/localsink.cpp @@ -57,6 +57,11 @@ LocalSink::LocalSink(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new LocalSinkBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(m_thread); applySettings(m_settings, true); diff --git a/plugins/channelrx/localsink/localsinkbaseband.h b/plugins/channelrx/localsink/localsinkbaseband.h index c053a6b7d..2d6f383cb 100644 --- a/plugins/channelrx/localsink/localsinkbaseband.h +++ b/plugins/channelrx/localsink/localsinkbaseband.h @@ -105,6 +105,7 @@ public: int getChannelSampleRate() const; void startSource() { m_sink.start(m_localSampleSource); } void stopSource() { m_sink.stop(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/noisefigure/noisefigure.cpp b/plugins/channelrx/noisefigure/noisefigure.cpp index 3519e8a1e..19a05d163 100644 --- a/plugins/channelrx/noisefigure/noisefigure.cpp +++ b/plugins/channelrx/noisefigure/noisefigure.cpp @@ -66,6 +66,11 @@ NoiseFigure::NoiseFigure(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new NoiseFigureBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/noisefigure/noisefigurebaseband.h b/plugins/channelrx/noisefigure/noisefigurebaseband.h index ca73f0bd5..ec14ba207 100644 --- a/plugins/channelrx/noisefigure/noisefigurebaseband.h +++ b/plugins/channelrx/noisefigure/noisefigurebaseband.h @@ -76,6 +76,7 @@ public: double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } void startMeasurement() { m_sink.startMeasurement(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/radioastronomy/radioastronomy.cpp b/plugins/channelrx/radioastronomy/radioastronomy.cpp index f68184ec5..61a7a04cf 100644 --- a/plugins/channelrx/radioastronomy/radioastronomy.cpp +++ b/plugins/channelrx/radioastronomy/radioastronomy.cpp @@ -71,6 +71,11 @@ RadioAstronomy::RadioAstronomy(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new RadioAstronomyBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/radioastronomy/radioastronomybaseband.h b/plugins/channelrx/radioastronomy/radioastronomybaseband.h index 4e6bb183a..48f291493 100644 --- a/plugins/channelrx/radioastronomy/radioastronomybaseband.h +++ b/plugins/channelrx/radioastronomy/radioastronomybaseband.h @@ -75,6 +75,7 @@ public: void setChannel(ChannelAPI *channel); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/radioclock/radioclock.cpp b/plugins/channelrx/radioclock/radioclock.cpp index c06d81751..b55d33b6a 100644 --- a/plugins/channelrx/radioclock/radioclock.cpp +++ b/plugins/channelrx/radioclock/radioclock.cpp @@ -55,6 +55,11 @@ RadioClock::RadioClock(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new RadioClockBaseband(this); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setMessageQueueToChannel(getInputMessageQueue()); m_basebandSink->setChannel(this); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/radioclock/radioclockbaseband.h b/plugins/channelrx/radioclock/radioclockbaseband.h index e728e25d4..65b21d0cf 100644 --- a/plugins/channelrx/radioclock/radioclockbaseband.h +++ b/plugins/channelrx/radioclock/radioclockbaseband.h @@ -77,6 +77,7 @@ public: void setChannel(ChannelAPI *channel); double getMagSq() const { return m_sink.getMagSq(); } bool isRunning() const { return m_running; } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/remotesink/remotesink.cpp b/plugins/channelrx/remotesink/remotesink.cpp index 2038703ad..24a976eef 100644 --- a/plugins/channelrx/remotesink/remotesink.cpp +++ b/plugins/channelrx/remotesink/remotesink.cpp @@ -58,6 +58,11 @@ RemoteSink::RemoteSink(DeviceAPI *deviceAPI) : updateWithDeviceData(); m_basebandSink = new RemoteSinkBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->moveToThread(&m_thread); applySettings(m_settings, true); diff --git a/plugins/channelrx/remotesink/remotesinkbaseband.h b/plugins/channelrx/remotesink/remotesinkbaseband.h index 450d443b1..c62515e1d 100644 --- a/plugins/channelrx/remotesink/remotesinkbaseband.h +++ b/plugins/channelrx/remotesink/remotesinkbaseband.h @@ -72,6 +72,7 @@ public: void setBasebandSampleRate(int sampleRate); void setDeviceIndex(uint32_t deviceIndex) { m_sink.setDeviceIndex(deviceIndex); } void setChannelIndex(uint32_t channelIndex) { m_sink.setChannelIndex(channelIndex); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: bool m_running; diff --git a/plugins/channelrx/sigmffilesink/sigmffilesink.cpp b/plugins/channelrx/sigmffilesink/sigmffilesink.cpp index 2dc453687..6a40d4747 100644 --- a/plugins/channelrx/sigmffilesink/sigmffilesink.cpp +++ b/plugins/channelrx/sigmffilesink/sigmffilesink.cpp @@ -59,6 +59,11 @@ SigMFFileSink::SigMFFileSink(DeviceAPI *deviceAPI) : setObjectName(m_channelId); m_basebandSink = new SigMFFileSinkBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrumSink(&m_spectrumVis); m_basebandSink->moveToThread(&m_thread); diff --git a/plugins/channelrx/sigmffilesink/sigmffilesinkbaseband.h b/plugins/channelrx/sigmffilesink/sigmffilesinkbaseband.h index e8e163d9f..246770ba1 100644 --- a/plugins/channelrx/sigmffilesink/sigmffilesinkbaseband.h +++ b/plugins/channelrx/sigmffilesink/sigmffilesinkbaseband.h @@ -101,6 +101,7 @@ public: bool isRecording() const { return m_sink.isRecording(); } float getSpecMax() const { return m_specMax; } int getSinkSampleRate() const { return m_sink.getSampleRate(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/channelrx/udpsink/udpsink.cpp b/plugins/channelrx/udpsink/udpsink.cpp index f20ea3ec0..a8d604faa 100644 --- a/plugins/channelrx/udpsink/udpsink.cpp +++ b/plugins/channelrx/udpsink/udpsink.cpp @@ -54,6 +54,11 @@ UDPSink::UDPSink(DeviceAPI *deviceAPI) : m_thread = new QThread(this); m_basebandSink = new UDPSinkBaseband(); + m_basebandSink->setFifoLabel(QString("%1 [%2:%3]") + .arg(m_channelId) + .arg(m_deviceAPI->getDeviceSetIndex()) + .arg(getIndexInDeviceSet()) + ); m_basebandSink->setSpectrum(&m_spectrumVis); m_basebandSink->moveToThread(m_thread); diff --git a/plugins/channelrx/udpsink/udpsinkbaseband.h b/plugins/channelrx/udpsink/udpsinkbaseband.h index 9b094dfda..9f339195b 100644 --- a/plugins/channelrx/udpsink/udpsinkbaseband.h +++ b/plugins/channelrx/udpsink/udpsinkbaseband.h @@ -88,6 +88,7 @@ public: double getMagSq() const { return m_sink.getMagSq(); } double getInMagSq() const { return m_sink.getInMagSq(); } bool getSquelchOpen() const { return m_sink.getSquelchOpen(); } + void setFifoLabel(const QString& label) { m_sampleFifo.setLabel(label); } private: SampleSinkFifo m_sampleFifo; diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index 9db458bb9..996f42ba9 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -51,6 +51,7 @@ AirspyInput::AirspyInput(DeviceAPI *deviceAPI) : m_deviceDescription("Airspy"), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index b7195953e..efeef6ab9 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -53,6 +53,7 @@ AirspyHFInput::AirspyHFInput(DeviceAPI *deviceAPI) : m_deviceDescription("AirspyHF"), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); m_networkManager = new QNetworkAccessManager(); diff --git a/plugins/samplesource/audioinput/audioinput.cpp b/plugins/samplesource/audioinput/audioinput.cpp index 0911e35e0..959e2d955 100644 --- a/plugins/samplesource/audioinput/audioinput.cpp +++ b/plugins/samplesource/audioinput/audioinput.cpp @@ -44,6 +44,7 @@ AudioInput::AudioInput(DeviceAPI *deviceAPI) : m_running(false), m_centerFrequency(0) { + m_sampleFifo.setLabel(m_deviceDescription); m_fifo.setSize(20*AudioInputWorker::m_convBufSamples); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/bladerf1input/bladerf1input.cpp b/plugins/samplesource/bladerf1input/bladerf1input.cpp index 4e45f9f96..dd6f9c5fa 100644 --- a/plugins/samplesource/bladerf1input/bladerf1input.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1input.cpp @@ -46,6 +46,7 @@ Bladerf1Input::Bladerf1Input(DeviceAPI *deviceAPI) : m_deviceDescription("BladeRFInput"), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); m_deviceAPI->setBuddySharedPtr(&m_sharedParams); diff --git a/plugins/samplesource/bladerf2input/bladerf2input.cpp b/plugins/samplesource/bladerf2input/bladerf2input.cpp index 0969c9daa..60a2b9f12 100644 --- a/plugins/samplesource/bladerf2input/bladerf2input.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2input.cpp @@ -48,6 +48,7 @@ BladeRF2Input::BladeRF2Input(DeviceAPI *deviceAPI) : m_running(false), m_thread(nullptr) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); if (m_deviceShared.m_dev) diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index bb9036701..c12c80d57 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -45,6 +45,7 @@ FCDProInput::FCDProInput(DeviceAPI *deviceAPI) : m_deviceDescription(fcd_traits::displayedName), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); m_fcdFIFO.setSize(20*fcd_traits::convBufSize); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index 3e5723725..4690c32e9 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -45,6 +45,7 @@ FCDProPlusInput::FCDProPlusInput(DeviceAPI *deviceAPI) : m_deviceDescription(fcd_traits::displayedName), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); m_fcdFIFO.setSize(20*fcd_traits::convBufSize); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/fileinput/fileinput.cpp b/plugins/samplesource/fileinput/fileinput.cpp index 4e925981f..fc2f8a55c 100644 --- a/plugins/samplesource/fileinput/fileinput.cpp +++ b/plugins/samplesource/fileinput/fileinput.cpp @@ -54,13 +54,14 @@ FileInput::FileInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), m_settings(), m_fileInputWorker(nullptr), - m_deviceDescription(), + m_deviceDescription("FileInput"), m_sampleRate(48000), m_sampleSize(0), m_centerFrequency(435000000), m_recordLengthMuSec(0), m_startingTimeStamp(0) { + m_sampleFifo.setLabel(m_deviceDescription); m_deviceAPI->setNbSourceStreams(1); qDebug("FileInput::FileInput: device source engine: %p", m_deviceAPI->getDeviceSourceEngine()); qDebug("FileInput::FileInput: device source engine message queue: %p", m_deviceAPI->getDeviceEngineInputMessageQueue()); diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index df75dd955..0fd20e913 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -47,6 +47,7 @@ HackRFInput::HackRFInput(DeviceAPI *deviceAPI) : m_deviceDescription("HackRF"), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/kiwisdr/kiwisdrinput.cpp b/plugins/samplesource/kiwisdr/kiwisdrinput.cpp index 06d95cc36..b9ef1b840 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrinput.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrinput.cpp @@ -44,10 +44,11 @@ KiwiSDRInput::KiwiSDRInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), m_settings(), m_kiwiSDRWorker(nullptr), - m_deviceDescription(), + m_deviceDescription("KiwiSDR"), m_running(false), m_masterTimer(deviceAPI->getMasterTimer()) { + m_sampleFifo.setLabel(m_deviceDescription); m_kiwiSDRWorkerThread.start(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index e388a9336..a6cc25026 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -54,6 +54,7 @@ LimeSDRInput::LimeSDRInput(DeviceAPI *deviceAPI) : m_running(false), m_channelAcquired(false) { + m_sampleFifo.setLabel(m_deviceDescription); m_streamId.handle = 0; suspendRxBuddies(); suspendTxBuddies(); diff --git a/plugins/samplesource/localinput/localinput.cpp b/plugins/samplesource/localinput/localinput.cpp index 815be523e..656c0921e 100644 --- a/plugins/samplesource/localinput/localinput.cpp +++ b/plugins/samplesource/localinput/localinput.cpp @@ -44,6 +44,7 @@ LocalInput::LocalInput(DeviceAPI *deviceAPI) : m_centerFrequency(0), m_deviceDescription("LocalInput") { + m_sampleFifo.setLabel(m_deviceDescription); m_sampleFifo.setSize(96000 * 4); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index 903b5168c..ac513c609 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -42,6 +42,7 @@ PerseusInput::PerseusInput(DeviceAPI *deviceAPI) : m_perseusWorker(nullptr), m_perseusDescriptor(0) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index b151f1315..fab22183b 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -45,6 +45,7 @@ PlutoSDRInput::PlutoSDRInput(DeviceAPI *deviceAPI) : m_plutoRxBuffer(0), m_plutoSDRInputThread(nullptr) { + m_sampleFifo.setLabel(m_deviceDescription); m_deviceSampleRates.m_addaConnvRate = 0; m_deviceSampleRates.m_bbRateHz = 0; m_deviceSampleRates.m_firRate = 0; diff --git a/plugins/samplesource/remoteinput/remoteinput.cpp b/plugins/samplesource/remoteinput/remoteinput.cpp index aa872aaa7..8dcf47bef 100644 --- a/plugins/samplesource/remoteinput/remoteinput.cpp +++ b/plugins/samplesource/remoteinput/remoteinput.cpp @@ -54,9 +54,10 @@ RemoteInput::RemoteInput(DeviceAPI *deviceAPI) : m_mutex(QMutex::Recursive), m_settings(), m_remoteInputUDPHandler(nullptr), - m_deviceDescription(), + m_deviceDescription("RemoteInput"), m_startingTimeStamp(0) { + m_sampleFifo.setLabel(m_deviceDescription); m_sampleFifo.setSize(m_sampleRate * 8); m_remoteInputUDPHandler = new RemoteInputUDPHandler(&m_sampleFifo, m_deviceAPI); m_remoteInputUDPHandler->setMessageQueueToInput(&m_inputMessageQueue); diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index 0039ce08a..90bfd392c 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -53,9 +53,10 @@ RTLSDRInput::RTLSDRInput(DeviceAPI *deviceAPI) : m_settings(), m_dev(0), m_rtlSDRThread(nullptr), - m_deviceDescription(), + m_deviceDescription("RTLSDR"), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 52c6b6e06..74f347507 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -50,6 +50,7 @@ SDRPlayInput::SDRPlayInput(DeviceAPI *deviceAPI) : m_devNumber(0), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp index bc9cfd80d..9397875b8 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp @@ -50,6 +50,7 @@ SDRPlayV3Input::SDRPlayV3Input(DeviceAPI *deviceAPI) : m_devNumber(0), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/plugins/samplesource/sigmffileinput/sigmffileinput.cpp b/plugins/samplesource/sigmffileinput/sigmffileinput.cpp index 7c509f312..9f38aeb05 100644 --- a/plugins/samplesource/sigmffileinput/sigmffileinput.cpp +++ b/plugins/samplesource/sigmffileinput/sigmffileinput.cpp @@ -70,13 +70,14 @@ SigMFFileInput::SigMFFileInput(DeviceAPI *deviceAPI) : m_crcOK(false), m_recordLengthOK(false), m_fileInputWorker(nullptr), - m_deviceDescription(), + m_deviceDescription("SigMFFileInput"), m_sampleRate(48000), m_sampleBytes(1), m_centerFrequency(0), m_recordLength(0), m_startingTimeStamp(0) { + m_sampleFifo.setLabel(m_deviceDescription); m_deviceAPI->setNbSourceStreams(1); qDebug("SigMFFileInput::SigMFFileInput: device source engine: %p", m_deviceAPI->getDeviceSourceEngine()); qDebug("SigMFFileInput::SigMFFileInput: device source engine message queue: %p", m_deviceAPI->getDeviceEngineInputMessageQueue()); diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp index 84681b831..83d68637c 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp @@ -46,6 +46,7 @@ SoapySDRInput::SoapySDRInput(DeviceAPI *deviceAPI) : m_running(false), m_thread(nullptr) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); initGainSettings(m_settings); initTunableElementsSettings(m_settings); diff --git a/plugins/samplesource/testsource/testsourceinput.cpp b/plugins/samplesource/testsource/testsourceinput.cpp index 415c7f652..6b861d7b3 100644 --- a/plugins/samplesource/testsource/testsourceinput.cpp +++ b/plugins/samplesource/testsource/testsourceinput.cpp @@ -40,10 +40,11 @@ TestSourceInput::TestSourceInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), m_settings(), m_testSourceWorker(nullptr), - m_deviceDescription(), + m_deviceDescription("TestSourceInput"), m_running(false), m_masterTimer(deviceAPI->getMasterTimer()) { + m_sampleFifo.setLabel(m_deviceDescription); m_deviceAPI->setNbSourceStreams(1); if (!m_sampleFifo.setSize(96000 * 4)) { diff --git a/plugins/samplesource/usrpinput/usrpinput.cpp b/plugins/samplesource/usrpinput/usrpinput.cpp index 8c4909c9f..0767e0528 100644 --- a/plugins/samplesource/usrpinput/usrpinput.cpp +++ b/plugins/samplesource/usrpinput/usrpinput.cpp @@ -57,6 +57,7 @@ USRPInput::USRPInput(DeviceAPI *deviceAPI) : m_channelAcquired(false), m_bufSamples(0) { + m_sampleFifo.setLabel(m_deviceDescription); m_streamId = nullptr; suspendRxBuddies(); suspendTxBuddies(); diff --git a/plugins/samplesource/xtrxinput/xtrxinput.cpp b/plugins/samplesource/xtrxinput/xtrxinput.cpp index 8370bd167..c226015ed 100644 --- a/plugins/samplesource/xtrxinput/xtrxinput.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinput.cpp @@ -52,6 +52,7 @@ XTRXInput::XTRXInput(DeviceAPI *deviceAPI) : m_deviceDescription("XTRXInput"), m_running(false) { + m_sampleFifo.setLabel(m_deviceDescription); openDevice(); m_deviceAPI->setNbSourceStreams(1); diff --git a/sdrbase/dsp/samplesinkfifo.cpp b/sdrbase/dsp/samplesinkfifo.cpp index 03c906537..b8ef8d8e7 100644 --- a/sdrbase/dsp/samplesinkfifo.cpp +++ b/sdrbase/dsp/samplesinkfifo.cpp @@ -123,15 +123,17 @@ unsigned int SampleSinkFifo::write(const quint8* data, unsigned int count) { m_suppressed = 0; m_msgRateTimer.start(); - qCritical("SampleSinkFifo::write: overflow - dropping %u samples", count - total); + qCritical("SampleSinkFifo::write: (%s) overflow - dropping %u samples", + qPrintable(m_label), count - total); emit overflow(count - total); } else { if (m_msgRateTimer.elapsed() > 2500) { - qCritical("SampleSinkFifo::write: %u messages dropped", m_suppressed); - qCritical("SampleSinkFifo::write: overflow - dropping %u samples", count - total); + qCritical("SampleSinkFifo::write: (%s) %u messages dropped", qPrintable(m_label), m_suppressed); + qCritical("SampleSinkFifo::write: (%s) overflow - dropping %u samples", + qPrintable(m_label), count - total); emit overflow(count - total); m_suppressed = -1; } @@ -192,15 +194,17 @@ unsigned int SampleSinkFifo::write(SampleVector::const_iterator begin, SampleVec { m_suppressed = 0; m_msgRateTimer.start(); - qCritical("SampleSinkFifo::write: overflow - dropping %u samples", count - total); + qCritical("SampleSinkFifo::write: (%s) overflow - dropping %u samples", + qPrintable(m_label), count - total); emit overflow(count - total); } else { if (m_msgRateTimer.elapsed() > 2500) { - qCritical("SampleSinkFifo::write: %u messages dropped", m_suppressed); - qCritical("SampleSinkFifo::write: overflow - dropping %u samples", count - total); + qCritical("SampleSinkFifo::write: (%s) %u messages dropped", qPrintable(m_label), m_suppressed); + qCritical("SampleSinkFifo::write: (%s) overflow - dropping %u samples", + qPrintable(m_label), count - total); emit overflow(count - total); m_suppressed = -1; } @@ -257,7 +261,8 @@ unsigned int SampleSinkFifo::read(SampleVector::iterator begin, SampleVector::it if (total < count) { - qCritical("SampleSinkFifo::read: underflow - missing %u samples", count - total); + qCritical("SampleSinkFifo::read: (%s) underflow - missing %u samples", + qPrintable(m_label), count - total); emit underflow(count - total); } @@ -296,7 +301,8 @@ unsigned int SampleSinkFifo::readBegin(unsigned int count, if (total < count) { - qCritical("SampleSinkFifo::readBegin: underflow - missing %u samples", count - total); + qCritical("SampleSinkFifo::readBegin: (%s) underflow - missing %u samples", + qPrintable(m_label), count - total); emit underflow(count - total); } @@ -342,7 +348,7 @@ unsigned int SampleSinkFifo::readCommit(unsigned int count) if (count > m_fill) { - qCritical("SampleSinkFifo::readCommit: cannot commit more than available samples"); + qCritical("SampleSinkFifo::readCommit: (%s) cannot commit more than available samples", qPrintable(m_label)); count = m_fill; } diff --git a/sdrbase/dsp/samplesinkfifo.h b/sdrbase/dsp/samplesinkfifo.h index c20e9784b..d29520abf 100644 --- a/sdrbase/dsp/samplesinkfifo.h +++ b/sdrbase/dsp/samplesinkfifo.h @@ -41,6 +41,7 @@ private: unsigned int m_fill; unsigned int m_head; unsigned int m_tail; + QString m_label; void create(unsigned int s); @@ -65,6 +66,7 @@ public: SampleVector::iterator* part1Begin, SampleVector::iterator* part1End, SampleVector::iterator* part2Begin, SampleVector::iterator* part2End); unsigned int readCommit(unsigned int count); + void setLabel(const QString& label) { m_label = label; } static unsigned int getSizePolicy(unsigned int sampleRate); signals: