aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sdrplay/sdrplay_source_c.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sdrplay/sdrplay_source_c.cc')
-rw-r--r--lib/sdrplay/sdrplay_source_c.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/sdrplay/sdrplay_source_c.cc b/lib/sdrplay/sdrplay_source_c.cc
index ac3e1f0..6c9044b 100644
--- a/lib/sdrplay/sdrplay_source_c.cc
+++ b/lib/sdrplay/sdrplay_source_c.cc
@@ -76,6 +76,8 @@ using namespace boost::assign;
#define SDRPLAY_L_MIN 1450e6
#define SDRPLAY_L_MAX 1675e6
+#define SDRPLAY_MAX_BUF_SIZE 504
+
/*
* Create a new instance of sdrplay_source_c and return
* a boost shared_ptr. This is effectively the public constructor.
@@ -125,10 +127,12 @@ sdrplay_source_c::sdrplay_source_c (const std::string &args)
_dev->gRdB = 60;
set_gain_limits(_dev->rfHz);
_dev->gain_dB = _dev->maxGain - _dev->gRdB;
+
+ _bufi.reserve(SDRPLAY_MAX_BUF_SIZE);
+ _bufq.reserve(SDRPLAY_MAX_BUF_SIZE);
_buf_mutex.lock();
_buf_offset = 0;
-// _buf_remaining = 0;
_buf_mutex.unlock();
}
@@ -240,7 +244,7 @@ int sdrplay_source_c::work( int noutput_items,
while ((cnt - _dev->samplesPerPacket) >= 0)
{
- mir_sdr_ReadPacket(&_bufi[0], &_bufq[0], &sampNum, &grChanged, &rfChanged, &fsChanged);
+ mir_sdr_ReadPacket(_bufi.data(), _bufq.data(), &sampNum, &grChanged, &rfChanged, &fsChanged);
for (int i = 0; i < _dev->samplesPerPacket; i++)
{
*out++ = gr_complex( float(_bufi[i]) * (1.0f/32768.0f), float(_bufq[i]) * (1.0f/32768.0f) );
@@ -251,7 +255,7 @@ int sdrplay_source_c::work( int noutput_items,
_buf_offset = 0;
if (cnt)
{
- mir_sdr_ReadPacket(&_bufi[0], &_bufq[0], &sampNum, &grChanged, &rfChanged, &fsChanged);
+ mir_sdr_ReadPacket(_bufi.data(), _bufq.data(), &sampNum, &grChanged, &rfChanged, &fsChanged);
for (int i = 0; i < cnt; i++)
{
*out++ = gr_complex( float(_bufi[i]) * (1.0f/4096.0f), float(_bufq[i]) * (1.0f/4096.0f) );