aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bladerf/bladerf_source_c.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bladerf/bladerf_source_c.cc')
-rw-r--r--lib/bladerf/bladerf_source_c.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/bladerf/bladerf_source_c.cc b/lib/bladerf/bladerf_source_c.cc
index 7450b1b..b4afcb2 100644
--- a/lib/bladerf/bladerf_source_c.cc
+++ b/lib/bladerf/bladerf_source_c.cc
@@ -142,6 +142,8 @@ int bladerf_source_c::work( int noutput_items,
int16_t *current;
const float scaling = 1.0f / 2048.0f;
gr_complex *out = static_cast<gr_complex *>(output_items[0]);
+ struct bladerf_metadata meta;
+ struct bladerf_metadata *meta_ptr = NULL;
if (noutput_items > _conv_buf_size) {
void *tmp;
@@ -156,9 +158,15 @@ int bladerf_source_c::work( int noutput_items,
_conv_buf = static_cast<int16_t*>(tmp);
}
+ if (_use_metadata) {
+ memset(&meta, 0, sizeof(meta));
+ meta.flags = BLADERF_META_FLAG_RX_NOW;
+ meta_ptr = &meta;
+ }
+
/* Grab all the samples into the temporary buffer */
ret = bladerf_sync_rx(_dev.get(), static_cast<void *>(_conv_buf),
- noutput_items, NULL, _stream_timeout_ms);
+ noutput_items, meta_ptr, _stream_timeout_ms);
if ( ret != 0 ) {
std::cerr << _pfx << "bladerf_sync_rx error: "
<< bladerf_strerror(ret) << std::endl;