Option to disable RTP when constructing the AudioNetSink

pull/162/head
f4exb 2018-03-27 08:13:06 +02:00
rodzic ef69dd22fa
commit e64ed09308
3 zmienionych plików z 11 dodań i 6 usunięć

Wyświetl plik

@ -65,7 +65,7 @@ AMDemod::AMDemod(DeviceSourceAPI *deviceAPI) :
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo, getInputMessageQueue());
m_audioSampleRate = DSPEngine::instance()->getAudioDeviceManager()->getOutputSampleRate();
m_audioNetSink = new AudioNetSink(0); // parent thread allocated dynamically
m_audioNetSink = new AudioNetSink(0, false, false); // parent thread allocated dynamically
m_audioNetSink->setDestination(m_settings.m_udpAddress, m_settings.m_udpPort);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);

Wyświetl plik

@ -23,14 +23,17 @@
const int AudioNetSink::m_udpBlockSize = 512;
AudioNetSink::AudioNetSink(QObject *parent, bool stereo) :
AudioNetSink::AudioNetSink(QObject *parent, bool stereo, bool useRTP) :
m_type(SinkUDP),
m_rtpBufferAudio(0),
m_bufferIndex(0),
m_port(9998)
{
m_udpSocket = new QUdpSocket(parent);
m_rtpBufferAudio = new RTPSink(m_udpSocket, stereo);
if (useRTP) {
m_rtpBufferAudio = new RTPSink(m_udpSocket, stereo);
}
}
AudioNetSink::~AudioNetSink()
@ -44,7 +47,7 @@ AudioNetSink::~AudioNetSink()
bool AudioNetSink::isRTPCapable() const
{
return m_rtpBufferAudio->isValid();
return m_rtpBufferAudio && m_rtpBufferAudio->isValid();
}
bool AudioNetSink::selectType(SinkType type)
@ -91,7 +94,9 @@ void AudioNetSink::deleteDestination(const QString& address, uint16_t port)
void AudioNetSink::setParameters(bool stereo, int sampleRate)
{
m_rtpBufferAudio->setPayloadInformation(stereo ? RTPSink::PayloadL16Stereo : RTPSink::PayloadL16Mono, sampleRate);
if (m_rtpBufferAudio) {
m_rtpBufferAudio->setPayloadInformation(stereo ? RTPSink::PayloadL16Stereo : RTPSink::PayloadL16Mono, sampleRate);
}
}
void AudioNetSink::write(qint16 sample)

Wyświetl plik

@ -37,7 +37,7 @@ public:
SinkRTP
} SinkType;
AudioNetSink(QObject *parent, bool stereo = false);
AudioNetSink(QObject *parent, bool stereo = false, bool useRTP = true);
~AudioNetSink();
void setDestination(const QString& address, uint16_t port);