aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sdrplay/sdrplay_source_c.cc
diff options
context:
space:
mode:
authorSDRplay <SDRplay@users.noreply.github.com>2015-04-14 16:34:01 +0100
committerDimitri Stolnikov <horiz0n@gmx.net>2015-04-28 22:35:18 +0200
commitbe9af0fe6f81bce327f9b1a2cd23a09533725d9b (patch)
tree118c34ca4e78e99f68daf4b861e2a973751dcf04 /lib/sdrplay/sdrplay_source_c.cc
parent79b53f50e42ecafa0cf2026f0274ecd1996e846c (diff)
changed bufi and bufq to std::vector
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) );