diff --git a/sdrbase/audio/audiofifo.cpp b/sdrbase/audio/audiofifo.cpp index 93d2d97c8..b7d58b0a9 100644 --- a/sdrbase/audio/audiofifo.cpp +++ b/sdrbase/audio/audiofifo.cpp @@ -63,6 +63,13 @@ bool AudioFifo::setSize(uint32_t numSamples) return create(numSamples); } +bool AudioFifo::setSampleSize(uint32_t sampleSize, uint32_t numSamples) +{ + QMutexLocker mutexLocker(&m_mutex); + m_sampleSize = sampleSize; + return create(numSamples); +} + uint32_t AudioFifo::write(const quint8* data, uint32_t numSamples) { uint32_t total; diff --git a/sdrbase/audio/audiofifo.h b/sdrbase/audio/audiofifo.h index 6ef854abb..f80aa9a0d 100644 --- a/sdrbase/audio/audiofifo.h +++ b/sdrbase/audio/audiofifo.h @@ -34,6 +34,7 @@ public: ~AudioFifo(); bool setSize(uint32_t numSamples); + bool setSampleSize(uint32_t sampleSize, uint32_t numSamples); uint32_t write(const quint8* data, uint32_t numSamples); uint32_t read(quint8* data, uint32_t numSamples); @@ -53,7 +54,7 @@ private: qint8* m_fifo; - const uint32_t m_sampleSize; + uint32_t m_sampleSize; uint32_t m_size; uint32_t m_fill;