From 752e71c402b48128acc76cf69470f4be5ac8e644 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 17 Feb 2019 01:32:32 +0100 Subject: [PATCH] Copy audio to UDP/RTP: use audio filter frequency cutoff corresponding to decimation --- sdrbase/audio/audionetsink.cpp | 5 +++++ sdrbase/audio/audionetsink.h | 1 + 2 files changed, 6 insertions(+) diff --git a/sdrbase/audio/audionetsink.cpp b/sdrbase/audio/audionetsink.cpp index 3f7a61f01..d0dbb372c 100644 --- a/sdrbase/audio/audionetsink.cpp +++ b/sdrbase/audio/audionetsink.cpp @@ -27,6 +27,7 @@ AudioNetSink::AudioNetSink(QObject *parent) : m_type(SinkUDP), m_codec(CodecL16), m_rtpBufferAudio(0), + m_sampleRate(48000), m_decimation(1), m_decimationCount(0), m_bufferIndex(0), @@ -40,6 +41,7 @@ AudioNetSink::AudioNetSink(QObject *parent, int sampleRate, bool stereo) : m_type(SinkUDP), m_codec(CodecL16), m_rtpBufferAudio(0), + m_sampleRate(48000), m_decimation(1), m_decimationCount(0), m_bufferIndex(0), @@ -110,6 +112,8 @@ void AudioNetSink::setParameters(Codec codec, bool stereo, int sampleRate) << " sampleRate: " << sampleRate; m_codec = codec; + m_sampleRate = sampleRate; + m_audioFilter.setDecimFilters(m_sampleRate, m_decimation); if (m_rtpBufferAudio) { @@ -138,6 +142,7 @@ void AudioNetSink::setDecimation(uint32_t decimation) { m_decimation = decimation < 1 ? 1 : decimation > 6 ? 6 : decimation; qDebug() << "AudioNetSink::setDecimation: " << m_decimation << " from: " << decimation; + m_audioFilter.setDecimFilters(m_sampleRate, m_decimation); m_decimationCount = 0; } diff --git a/sdrbase/audio/audionetsink.h b/sdrbase/audio/audionetsink.h index c3c4d3b3a..02db8e709 100644 --- a/sdrbase/audio/audionetsink.h +++ b/sdrbase/audio/audionetsink.h @@ -74,6 +74,7 @@ protected: RTPSink *m_rtpBufferAudio; AudioCompressor m_audioCompressor; AudioFilter m_audioFilter; + int m_sampleRate; uint32_t m_decimation; uint32_t m_decimationCount; char m_data[65536];