mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-09-29 00:06:34 -04:00
DSD demod: removed copy to UDP/RTP
This commit is contained in:
parent
6f8d546ab7
commit
a0282dd3d9
@ -75,15 +75,6 @@ DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) :
|
|||||||
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo1, getInputMessageQueue());
|
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo1, getInputMessageQueue());
|
||||||
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo2, getInputMessageQueue());
|
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo2, getInputMessageQueue());
|
||||||
|
|
||||||
// m_udpBufferAudio = new UDPSink<AudioSample>(this, m_udpBlockSize, m_settings.m_udpPort);
|
|
||||||
// m_audioFifo1.setUDPSink(m_udpBufferAudio);
|
|
||||||
// m_audioFifo2.setUDPSink(m_udpBufferAudio);
|
|
||||||
m_audioNetSink = new AudioNetSink(0); // parent thread allocated dynamically
|
|
||||||
m_audioNetSink->setDestination(m_settings.m_udpAddress, m_settings.m_udpPort);
|
|
||||||
m_audioNetSink->setStereo(true);
|
|
||||||
m_audioFifo1.setAudioNetSink(m_audioNetSink);
|
|
||||||
m_audioFifo2.setAudioNetSink(m_audioNetSink);
|
|
||||||
|
|
||||||
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
|
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
|
||||||
applySettings(m_settings, true);
|
applySettings(m_settings, true);
|
||||||
|
|
||||||
@ -98,8 +89,6 @@ DSDDemod::~DSDDemod()
|
|||||||
delete[] m_sampleBuffer;
|
delete[] m_sampleBuffer;
|
||||||
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo1);
|
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo1);
|
||||||
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo2);
|
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo2);
|
||||||
// delete m_udpBufferAudio;
|
|
||||||
delete m_audioNetSink;
|
|
||||||
|
|
||||||
m_deviceAPI->removeChannelAPI(this);
|
m_deviceAPI->removeChannelAPI(this);
|
||||||
m_deviceAPI->removeThreadedSink(m_threadedChannelizer);
|
m_deviceAPI->removeThreadedSink(m_threadedChannelizer);
|
||||||
@ -371,10 +360,6 @@ bool DSDDemod::handleMessage(const Message& cmd)
|
|||||||
}
|
}
|
||||||
else if (BasebandSampleSink::MsgThreadedSink::match(cmd))
|
else if (BasebandSampleSink::MsgThreadedSink::match(cmd))
|
||||||
{
|
{
|
||||||
BasebandSampleSink::MsgThreadedSink& cfg = (BasebandSampleSink::MsgThreadedSink&) cmd;
|
|
||||||
const QThread *thread = cfg.getThread();
|
|
||||||
qDebug("DSDDemod::handleMessage: BasebandSampleSink::MsgThreadedSink: %p", thread);
|
|
||||||
m_audioNetSink->moveToThread(const_cast<QThread*>(thread)); // use the thread for udp sinks
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (DSPSignalNotification::match(cmd))
|
else if (DSPSignalNotification::match(cmd))
|
||||||
@ -430,7 +415,6 @@ void DSDDemod::applySettings(const DSDDemodSettings& settings, bool force)
|
|||||||
<< " m_slot2On: " << m_settings.m_slot2On
|
<< " m_slot2On: " << m_settings.m_slot2On
|
||||||
<< " m_tdmaStereo: " << m_settings.m_tdmaStereo
|
<< " m_tdmaStereo: " << m_settings.m_tdmaStereo
|
||||||
<< " m_pllLock: " << m_settings.m_pllLock
|
<< " m_pllLock: " << m_settings.m_pllLock
|
||||||
<< " m_udpCopyAudio: " << m_settings.m_copyAudioToUDP
|
|
||||||
<< " m_udpAddress: " << m_settings.m_udpAddress
|
<< " m_udpAddress: " << m_settings.m_udpAddress
|
||||||
<< " m_udpPort: " << m_settings.m_udpPort
|
<< " m_udpPort: " << m_settings.m_udpPort
|
||||||
<< " m_highPassFilter: "<< m_settings.m_highPassFilter
|
<< " m_highPassFilter: "<< m_settings.m_highPassFilter
|
||||||
@ -488,42 +472,6 @@ void DSDDemod::applySettings(const DSDDemodSettings& settings, bool force)
|
|||||||
m_dsdDecoder.setSymbolPLLLock(settings.m_pllLock);
|
m_dsdDecoder.setSymbolPLLLock(settings.m_pllLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((settings.m_udpAddress != m_settings.m_udpAddress)
|
|
||||||
|| (settings.m_udpPort != m_settings.m_udpPort) || force)
|
|
||||||
{
|
|
||||||
// m_udpBufferAudio->setAddress(const_cast<QString&>(settings.m_udpAddress));
|
|
||||||
// m_udpBufferAudio->setPort(settings.m_udpPort);
|
|
||||||
m_audioNetSink->setDestination(settings.m_udpAddress, settings.m_udpPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((settings.m_copyAudioToUDP != m_settings.m_copyAudioToUDP)
|
|
||||||
|| (settings.m_slot1On != m_settings.m_slot1On)
|
|
||||||
|| (settings.m_slot2On != m_settings.m_slot2On) || force)
|
|
||||||
{
|
|
||||||
m_audioFifo1.setCopyToUDP(settings.m_slot1On && settings.m_copyAudioToUDP);
|
|
||||||
m_audioFifo2.setCopyToUDP(settings.m_slot2On && !settings.m_slot1On && settings.m_copyAudioToUDP);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((settings.m_copyAudioUseRTP != m_settings.m_copyAudioUseRTP) || force)
|
|
||||||
{
|
|
||||||
if (settings.m_copyAudioUseRTP)
|
|
||||||
{
|
|
||||||
if (m_audioNetSink->selectType(AudioNetSink::SinkRTP)) {
|
|
||||||
qDebug("DSDDemod::applySettings: set audio sink to RTP mode");
|
|
||||||
} else {
|
|
||||||
qWarning("DSDDemod::applySettings: RTP support for audio sink not available. Fall back too UDP");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (m_audioNetSink->selectType(AudioNetSink::SinkUDP)) {
|
|
||||||
qDebug("DSDDemod::applySettings: set audio sink to UDP mode");
|
|
||||||
} else {
|
|
||||||
qWarning("DSDDemod::applySettings: failed to set audio sink to UDP mode");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((settings.m_highPassFilter != m_settings.m_highPassFilter) || force)
|
if ((settings.m_highPassFilter != m_settings.m_highPassFilter) || force)
|
||||||
{
|
{
|
||||||
m_dsdDecoder.useHPMbelib(settings.m_highPassFilter);
|
m_dsdDecoder.useHPMbelib(settings.m_highPassFilter);
|
||||||
|
@ -125,8 +125,6 @@ public:
|
|||||||
m_magsqCount = 0;
|
m_magsqCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isAudioNetSinkRTPCapable() const { return false; }
|
|
||||||
|
|
||||||
static const QString m_channelIdURI;
|
static const QString m_channelIdURI;
|
||||||
static const QString m_channelId;
|
static const QString m_channelId;
|
||||||
|
|
||||||
@ -199,8 +197,6 @@ private:
|
|||||||
QMutex m_settingsMutex;
|
QMutex m_settingsMutex;
|
||||||
|
|
||||||
PhaseDiscriminators m_phaseDiscri;
|
PhaseDiscriminators m_phaseDiscri;
|
||||||
//UDPSink<AudioSample> *m_udpBufferAudio;
|
|
||||||
AudioNetSink *m_audioNetSink;
|
|
||||||
|
|
||||||
static const int m_udpBlockSize;
|
static const int m_udpBlockSize;
|
||||||
|
|
||||||
|
@ -238,18 +238,6 @@ void DSDDemodGUI::on_symbolPLLLock_toggled(bool checked)
|
|||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DSDDemodGUI::on_udpOutput_toggled(bool checked)
|
|
||||||
{
|
|
||||||
m_settings.m_copyAudioToUDP = checked;
|
|
||||||
applySettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void DSDDemodGUI::on_useRTP_toggled(bool checked)
|
|
||||||
{
|
|
||||||
m_settings.m_copyAudioUseRTP = checked;
|
|
||||||
applySettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void DSDDemodGUI::onWidgetRolled(QWidget* widget __attribute__((unused)), bool rollDown __attribute__((unused)))
|
void DSDDemodGUI::onWidgetRolled(QWidget* widget __attribute__((unused)), bool rollDown __attribute__((unused)))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -273,7 +261,6 @@ void DSDDemodGUI::onMenuDialogCalled(const QPoint &p)
|
|||||||
|
|
||||||
setWindowTitle(m_settings.m_title);
|
setWindowTitle(m_settings.m_title);
|
||||||
setTitleColor(m_settings.m_rgbColor);
|
setTitleColor(m_settings.m_rgbColor);
|
||||||
displayUDPAddress();
|
|
||||||
|
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
@ -345,10 +332,6 @@ DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseban
|
|||||||
m_deviceUISet->addChannelMarker(&m_channelMarker);
|
m_deviceUISet->addChannelMarker(&m_channelMarker);
|
||||||
m_deviceUISet->addRollupWidget(this);
|
m_deviceUISet->addRollupWidget(this);
|
||||||
|
|
||||||
if (!m_dsdDemod->isAudioNetSinkRTPCapable()) {
|
|
||||||
ui->useRTP->hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
connect(&m_channelMarker, SIGNAL(changedByCursor()), this, SLOT(channelMarkerChangedByCursor()));
|
connect(&m_channelMarker, SIGNAL(changedByCursor()), this, SLOT(channelMarkerChangedByCursor()));
|
||||||
connect(&m_channelMarker, SIGNAL(highlightedByCursor()), this, SLOT(channelMarkerHighlightedByCursor()));
|
connect(&m_channelMarker, SIGNAL(highlightedByCursor()), this, SLOT(channelMarkerHighlightedByCursor()));
|
||||||
|
|
||||||
@ -380,11 +363,6 @@ void DSDDemodGUI::updateMyPosition()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DSDDemodGUI::displayUDPAddress()
|
|
||||||
{
|
|
||||||
ui->udpOutput->setToolTip(QString("Copy audio output to UDP %1:%2").arg(m_settings.m_udpAddress).arg(m_settings.m_udpPort));
|
|
||||||
}
|
|
||||||
|
|
||||||
void DSDDemodGUI::displaySettings()
|
void DSDDemodGUI::displaySettings()
|
||||||
{
|
{
|
||||||
m_channelMarker.blockSignals(true);
|
m_channelMarker.blockSignals(true);
|
||||||
@ -396,7 +374,6 @@ void DSDDemodGUI::displaySettings()
|
|||||||
|
|
||||||
setTitleColor(m_settings.m_rgbColor);
|
setTitleColor(m_settings.m_rgbColor);
|
||||||
setWindowTitle(m_channelMarker.getTitle());
|
setWindowTitle(m_channelMarker.getTitle());
|
||||||
displayUDPAddress();
|
|
||||||
|
|
||||||
blockApplySettings(true);
|
blockApplySettings(true);
|
||||||
|
|
||||||
@ -426,13 +403,8 @@ void DSDDemodGUI::displaySettings()
|
|||||||
ui->slot2On->setChecked(m_settings.m_slot2On);
|
ui->slot2On->setChecked(m_settings.m_slot2On);
|
||||||
ui->tdmaStereoSplit->setChecked(m_settings.m_tdmaStereo);
|
ui->tdmaStereoSplit->setChecked(m_settings.m_tdmaStereo);
|
||||||
ui->audioMute->setChecked(m_settings.m_audioMute);
|
ui->audioMute->setChecked(m_settings.m_audioMute);
|
||||||
ui->udpOutput->setChecked(m_settings.m_copyAudioToUDP);
|
|
||||||
ui->symbolPLLLock->setChecked(m_settings.m_pllLock);
|
ui->symbolPLLLock->setChecked(m_settings.m_pllLock);
|
||||||
|
|
||||||
if (m_dsdDemod->isAudioNetSinkRTPCapable()) {
|
|
||||||
ui->useRTP->setChecked(m_settings.m_copyAudioUseRTP);
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->baudRate->setCurrentIndex(DSDDemodBaudRates::getRateIndex(m_settings.m_baudRate));
|
ui->baudRate->setCurrentIndex(DSDDemodBaudRates::getRateIndex(m_settings.m_baudRate));
|
||||||
|
|
||||||
ui->traceLength->setValue(m_settings.m_traceLengthMutliplier);
|
ui->traceLength->setValue(m_settings.m_traceLengthMutliplier);
|
||||||
|
@ -105,7 +105,6 @@ private:
|
|||||||
void applySettings(bool force = false);
|
void applySettings(bool force = false);
|
||||||
void displaySettings();
|
void displaySettings();
|
||||||
void updateMyPosition();
|
void updateMyPosition();
|
||||||
void displayUDPAddress();
|
|
||||||
|
|
||||||
void leaveEvent(QEvent*);
|
void leaveEvent(QEvent*);
|
||||||
void enterEvent(QEvent*);
|
void enterEvent(QEvent*);
|
||||||
@ -131,8 +130,6 @@ private slots:
|
|||||||
void on_highPassFilter_toggled(bool checked);
|
void on_highPassFilter_toggled(bool checked);
|
||||||
void on_audioMute_toggled(bool checked);
|
void on_audioMute_toggled(bool checked);
|
||||||
void on_symbolPLLLock_toggled(bool checked);
|
void on_symbolPLLLock_toggled(bool checked);
|
||||||
void on_udpOutput_toggled(bool checked);
|
|
||||||
void on_useRTP_toggled(bool checked);
|
|
||||||
void onWidgetRolled(QWidget* widget, bool rollDown);
|
void onWidgetRolled(QWidget* widget, bool rollDown);
|
||||||
void onMenuDialogCalled(const QPoint& p);
|
void onMenuDialogCalled(const QPoint& p);
|
||||||
void tick();
|
void tick();
|
||||||
|
@ -460,26 +460,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="ButtonSwitch" name="udpOutput">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Copy audio output to UDP</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>U</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="useRTP">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Use RTP protocol for audio copy to UDP</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>R</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -46,8 +46,6 @@ void DSDDemodSettings::resetToDefaults()
|
|||||||
m_slot2On = false;
|
m_slot2On = false;
|
||||||
m_tdmaStereo = false;
|
m_tdmaStereo = false;
|
||||||
m_pllLock = true;
|
m_pllLock = true;
|
||||||
m_copyAudioToUDP = false;
|
|
||||||
m_copyAudioUseRTP = false;
|
|
||||||
m_udpAddress = "127.0.0.1";
|
m_udpAddress = "127.0.0.1";
|
||||||
m_udpPort = 9999;
|
m_udpPort = 9999;
|
||||||
m_rgbColor = QColor(0, 255, 255).rgb();
|
m_rgbColor = QColor(0, 255, 255).rgb();
|
||||||
@ -87,7 +85,6 @@ QByteArray DSDDemodSettings::serialize() const
|
|||||||
|
|
||||||
s.writeString(18, m_title);
|
s.writeString(18, m_title);
|
||||||
s.writeBool(19, m_highPassFilter);
|
s.writeBool(19, m_highPassFilter);
|
||||||
s.writeBool(20, m_copyAudioUseRTP);
|
|
||||||
s.writeS32(21, m_traceLengthMutliplier);
|
s.writeS32(21, m_traceLengthMutliplier);
|
||||||
s.writeS32(22, m_traceStroke);
|
s.writeS32(22, m_traceStroke);
|
||||||
s.writeS32(23, m_traceDecay);
|
s.writeS32(23, m_traceDecay);
|
||||||
@ -144,7 +141,6 @@ bool DSDDemodSettings::deserialize(const QByteArray& data)
|
|||||||
d.readBool(16, &m_tdmaStereo, false);
|
d.readBool(16, &m_tdmaStereo, false);
|
||||||
d.readString(18, &m_title, "DSD Demodulator");
|
d.readString(18, &m_title, "DSD Demodulator");
|
||||||
d.readBool(19, &m_highPassFilter, false);
|
d.readBool(19, &m_highPassFilter, false);
|
||||||
d.readBool(20, &m_copyAudioUseRTP, false);
|
|
||||||
d.readS32(21, &tmp, 6);
|
d.readS32(21, &tmp, 6);
|
||||||
m_traceLengthMutliplier = tmp < 2 ? 2 : tmp > 30 ? 30 : tmp;
|
m_traceLengthMutliplier = tmp < 2 ? 2 : tmp > 30 ? 30 : tmp;
|
||||||
d.readS32(22, &tmp, 100);
|
d.readS32(22, &tmp, 100);
|
||||||
|
@ -39,8 +39,6 @@ struct DSDDemodSettings
|
|||||||
bool m_slot2On;
|
bool m_slot2On;
|
||||||
bool m_tdmaStereo;
|
bool m_tdmaStereo;
|
||||||
bool m_pllLock;
|
bool m_pllLock;
|
||||||
bool m_copyAudioToUDP;
|
|
||||||
bool m_copyAudioUseRTP;
|
|
||||||
QString m_udpAddress;
|
QString m_udpAddress;
|
||||||
quint16 m_udpPort;
|
quint16 m_udpPort;
|
||||||
quint32 m_rgbColor;
|
quint32 m_rgbColor;
|
||||||
|
Loading…
Reference in New Issue
Block a user