From 22746ff8134ba9f18c6468ca3a065757578a2535 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 9 Sep 2018 22:35:25 +0200 Subject: [PATCH] SDRDaemonSink: 16/24 bit support (2): works for 16 bit stream --- .../sdrdaemonsource/sdrdaemonsourcebuffer.cpp | 2 +- .../samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.h | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.cpp b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.cpp index 43ec44c24..d3bafe007 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.cpp +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.cpp @@ -174,7 +174,7 @@ void SDRdaemonSourceBuffer::checkSlotData(int slotIndex) if (sampleRate > 0) { int64_t ts = m_currentMeta.m_tv_sec * 1000000LL + m_currentMeta.m_tv_usec; - ts -= (rwDelayBytes * 1000000LL) / (sampleRate * sizeof(SDRdaemonSample)); + ts -= (rwDelayBytes * 1000000LL) / (sampleRate * 2 * m_currentMeta.m_sampleBytes); m_tvOut_sec = ts / 1000000LL; m_tvOut_usec = ts - (m_tvOut_sec * 1000000LL); } diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.h b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.h index 9b3a671e4..20873deb3 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.h +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcebuffer.h @@ -57,12 +57,6 @@ public: } }; - struct SDRdaemonSample - { - int16_t i; - int16_t q; - }; - struct Header { uint16_t frameIndex; @@ -70,12 +64,11 @@ public: uint8_t filler; }; - static const int samplesPerBlock = (SDRDAEMONSOURCE_UDPSIZE - sizeof(Header)) / sizeof(SDRdaemonSample); static const int framesSize = SDRDAEMONSOURCE_NBDECODERSLOTS * (SDRDAEMONSOURCE_NBORIGINALBLOCKS - 1) * (SDRDAEMONSOURCE_UDPSIZE - sizeof(Header)); struct ProtectedBlock { - SDRdaemonSample samples[samplesPerBlock]; + uint8_t buf[SDRDAEMONSOURCE_UDPSIZE - sizeof(Header)]; }; struct SuperBlock