DSD demod: implement RTP over UDP for audio copy (part 1)

This commit is contained in:
f4exb 2018-03-07 01:39:02 +01:00
parent 26995aae1c
commit 3dbf59cd1d
6 changed files with 27 additions and 0 deletions

View File

@ -125,6 +125,8 @@ public:
m_magsqCount = 0;
}
bool isAudioNetSinkRTPCapable() const { return false; }
static const QString m_channelIdURI;
static const QString m_channelId;

View File

@ -219,6 +219,12 @@ void DSDDemodGUI::on_udpOutput_toggled(bool 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)))
{
/*
@ -385,6 +391,10 @@ void DSDDemodGUI::displaySettings()
ui->udpOutput->setChecked(m_settings.m_copyAudioToUDP);
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));
blockApplySettings(false);

View File

@ -128,6 +128,7 @@ private slots:
void on_audioMute_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 onMenuDialogCalled(const QPoint& p);
void tick();

View File

@ -867,6 +867,16 @@
</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>
</item>
<item>

View File

@ -47,6 +47,7 @@ void DSDDemodSettings::resetToDefaults()
m_tdmaStereo = false;
m_pllLock = true;
m_copyAudioToUDP = false;
m_copyAudioUseRTP = false;
m_udpAddress = "127.0.0.1";
m_udpPort = 9999;
m_rgbColor = QColor(0, 255, 255).rgb();
@ -83,6 +84,7 @@ QByteArray DSDDemodSettings::serialize() const
s.writeString(18, m_title);
s.writeBool(19, m_highPassFilter);
s.writeBool(20, m_copyAudioUseRTP);
return s.final();
}
@ -136,6 +138,7 @@ bool DSDDemodSettings::deserialize(const QByteArray& data)
d.readBool(16, &m_tdmaStereo, false);
d.readString(18, &m_title, "DSD Demodulator");
d.readBool(19, &m_highPassFilter, false);
d.readBool(20, &m_copyAudioUseRTP, false);
return true;
}

View File

@ -40,6 +40,7 @@ struct DSDDemodSettings
bool m_tdmaStereo;
bool m_pllLock;
bool m_copyAudioToUDP;
bool m_copyAudioUseRTP;
QString m_udpAddress;
quint16 m_udpPort;
quint32 m_rgbColor;