From b183a66d297a91561a4709f9e8ac8158d5cceef9 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 10 Mar 2018 05:49:18 +0100 Subject: [PATCH] RTP: corrections for stereo --- sdrbase/audio/audionetsink.cpp | 2 +- sdrbase/util/rtpsink.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sdrbase/audio/audionetsink.cpp b/sdrbase/audio/audionetsink.cpp index e128cd631..80b8fbe0c 100644 --- a/sdrbase/audio/audionetsink.cpp +++ b/sdrbase/audio/audionetsink.cpp @@ -142,7 +142,7 @@ void AudioNetSink::write(AudioSample* samples, uint32_t numSamples) } else if (m_type == SinkRTP) { - m_rtpBufferAudio->write((uint8_t *) samples, numSamples*sizeof(AudioSample)); + m_rtpBufferAudio->write((uint8_t *) samples, numSamples*2); // 2 x 16 bit sample } } diff --git a/sdrbase/util/rtpsink.cpp b/sdrbase/util/rtpsink.cpp index 67232eb4e..b3cbf5871 100644 --- a/sdrbase/util/rtpsink.cpp +++ b/sdrbase/util/rtpsink.cpp @@ -73,6 +73,7 @@ RTPSink::~RTPSink() void RTPSink::setPayloadType(PayloadType payloadType) { + uint32_t timestampinc; QMutexLocker locker(&m_mutex); qDebug("RTPSink::setPayloadType: %d", payloadType); @@ -83,12 +84,14 @@ void RTPSink::setPayloadType(PayloadType payloadType) m_sampleRate = 48000; m_sampleBytes = sizeof(AudioSample); m_rtpSession.SetDefaultPayloadType(96); + timestampinc = m_sampleRate / 100; break; case PayloadL16Mono: default: m_sampleRate = 48000; m_sampleBytes = sizeof(int16_t); m_rtpSession.SetDefaultPayloadType(96); + timestampinc = m_sampleRate / 50; break; } @@ -121,12 +124,12 @@ void RTPSink::setPayloadType(PayloadType payloadType) qDebug("RTPSink::setPayloadType: set default mark to false: %s", qrtplib::RTPGetErrorString(status).c_str()); } - status = m_rtpSession.SetDefaultTimestampIncrement(m_packetSamples); + status = m_rtpSession.SetDefaultTimestampIncrement(timestampinc); if (status < 0) { qCritical("RTPSink::setPayloadType: cannot set default timestamp increment: %s", qrtplib::RTPGetErrorString(status).c_str()); } else { - qDebug("RTPSink::setPayloadType: set default timestamp increment to %d: %s", m_packetSamples, qrtplib::RTPGetErrorString(status).c_str()); + qDebug("RTPSink::setPayloadType: set default timestamp increment to %d: %s", timestampinc, qrtplib::RTPGetErrorString(status).c_str()); } status = m_rtpSession.SetMaximumPacketSize(m_bufferSize+40);