mirror of https://github.com/f4exb/sdrangel.git
Option to disable RTP when constructing the AudioNetSink
This commit is contained in:
parent
ef69dd22fa
commit
e64ed09308
|
@ -65,7 +65,7 @@ AMDemod::AMDemod(DeviceSourceAPI *deviceAPI) :
|
||||||
|
|
||||||
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo, getInputMessageQueue());
|
DSPEngine::instance()->getAudioDeviceManager()->addAudioSink(&m_audioFifo, getInputMessageQueue());
|
||||||
m_audioSampleRate = DSPEngine::instance()->getAudioDeviceManager()->getOutputSampleRate();
|
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);
|
m_audioNetSink->setDestination(m_settings.m_udpAddress, m_settings.m_udpPort);
|
||||||
|
|
||||||
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
|
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
|
||||||
|
|
|
@ -23,15 +23,18 @@
|
||||||
|
|
||||||
const int AudioNetSink::m_udpBlockSize = 512;
|
const int AudioNetSink::m_udpBlockSize = 512;
|
||||||
|
|
||||||
AudioNetSink::AudioNetSink(QObject *parent, bool stereo) :
|
AudioNetSink::AudioNetSink(QObject *parent, bool stereo, bool useRTP) :
|
||||||
m_type(SinkUDP),
|
m_type(SinkUDP),
|
||||||
m_rtpBufferAudio(0),
|
m_rtpBufferAudio(0),
|
||||||
m_bufferIndex(0),
|
m_bufferIndex(0),
|
||||||
m_port(9998)
|
m_port(9998)
|
||||||
{
|
{
|
||||||
m_udpSocket = new QUdpSocket(parent);
|
m_udpSocket = new QUdpSocket(parent);
|
||||||
|
|
||||||
|
if (useRTP) {
|
||||||
m_rtpBufferAudio = new RTPSink(m_udpSocket, stereo);
|
m_rtpBufferAudio = new RTPSink(m_udpSocket, stereo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AudioNetSink::~AudioNetSink()
|
AudioNetSink::~AudioNetSink()
|
||||||
{
|
{
|
||||||
|
@ -44,7 +47,7 @@ AudioNetSink::~AudioNetSink()
|
||||||
|
|
||||||
bool AudioNetSink::isRTPCapable() const
|
bool AudioNetSink::isRTPCapable() const
|
||||||
{
|
{
|
||||||
return m_rtpBufferAudio->isValid();
|
return m_rtpBufferAudio && m_rtpBufferAudio->isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AudioNetSink::selectType(SinkType type)
|
bool AudioNetSink::selectType(SinkType type)
|
||||||
|
@ -91,8 +94,10 @@ void AudioNetSink::deleteDestination(const QString& address, uint16_t port)
|
||||||
|
|
||||||
void AudioNetSink::setParameters(bool stereo, int sampleRate)
|
void AudioNetSink::setParameters(bool stereo, int sampleRate)
|
||||||
{
|
{
|
||||||
|
if (m_rtpBufferAudio) {
|
||||||
m_rtpBufferAudio->setPayloadInformation(stereo ? RTPSink::PayloadL16Stereo : RTPSink::PayloadL16Mono, sampleRate);
|
m_rtpBufferAudio->setPayloadInformation(stereo ? RTPSink::PayloadL16Stereo : RTPSink::PayloadL16Mono, sampleRate);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AudioNetSink::write(qint16 sample)
|
void AudioNetSink::write(qint16 sample)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,7 +37,7 @@ public:
|
||||||
SinkRTP
|
SinkRTP
|
||||||
} SinkType;
|
} SinkType;
|
||||||
|
|
||||||
AudioNetSink(QObject *parent, bool stereo = false);
|
AudioNetSink(QObject *parent, bool stereo = false, bool useRTP = true);
|
||||||
~AudioNetSink();
|
~AudioNetSink();
|
||||||
|
|
||||||
void setDestination(const QString& address, uint16_t port);
|
void setDestination(const QString& address, uint16_t port);
|
||||||
|
|
Loading…
Reference in New Issue