diff options
author | SDRplay <SDRplay@users.noreply.github.com> | 2015-04-14 16:34:01 +0100 |
---|---|---|
committer | Dimitri Stolnikov <horiz0n@gmx.net> | 2015-04-28 22:35:18 +0200 |
commit | be9af0fe6f81bce327f9b1a2cd23a09533725d9b (patch) | |
tree | 118c34ca4e78e99f68daf4b861e2a973751dcf04 /lib/sdrplay/sdrplay_source_c.cc | |
parent | 79b53f50e42ecafa0cf2026f0274ecd1996e846c (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.cc | 10 |
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) ); |