diff options
| -rw-r--r-- | host/examples/test_async_messages.cpp | 8 | ||||
| -rw-r--r-- | host/lib/transport/vrt_packet_handler.hpp | 13 | 
2 files changed, 13 insertions, 8 deletions
| diff --git a/host/examples/test_async_messages.cpp b/host/examples/test_async_messages.cpp index bdee7a504..61db7ec04 100644 --- a/host/examples/test_async_messages.cpp +++ b/host/examples/test_async_messages.cpp @@ -93,10 +93,8 @@ bool test_underflow_message(uhd::usrp::single_usrp::sptr sdev){      md.end_of_burst   = false;      md.has_time_spec  = false; -    std::vector<std::complex<float> > buff(1); //minimum 1 sample -      dev->send( -        &buff.front(), buff.size(), md, +        NULL, 0, md,          uhd::io_type_t::COMPLEX_FLOAT32,          uhd::device::SEND_MODE_FULL_BUFF      ); @@ -144,10 +142,8 @@ bool test_time_error_message(uhd::usrp::single_usrp::sptr sdev){      sdev->set_time_now(uhd::time_spec_t(200.0)); //time at 200s -    std::vector<std::complex<float> > buff(1); //minimum 1 sample -      dev->send( -        &buff.front(), buff.size(), md, +        NULL, 0, md,          uhd::io_type_t::COMPLEX_FLOAT32,          uhd::device::SEND_MODE_FULL_BUFF      ); diff --git a/host/lib/transport/vrt_packet_handler.hpp b/host/lib/transport/vrt_packet_handler.hpp index d5f03de0e..278bcfeaa 100644 --- a/host/lib/transport/vrt_packet_handler.hpp +++ b/host/lib/transport/vrt_packet_handler.hpp @@ -388,10 +388,19 @@ template <typename T> UHD_INLINE T get_context_code(              if_packet_info.sob = metadata.start_of_burst;              if_packet_info.eob = metadata.end_of_burst; +            //TODO remove this code when sample counts of zero are supported by hardware +            std::vector<const void *> buffs_(buffs); +            size_t total_num_samps_(total_num_samps); +            if (total_num_samps == 0){ +                static const boost::uint64_t zeros = 0; //max size of a host sample +                buffs_ = std::vector<const void *>(buffs.size(), &zeros); +                total_num_samps_ = 1; +            } +              return _send1(                  state, -                buffs, 0, -                std::min(total_num_samps, max_samples_per_packet), +                buffs_, 0, +                std::min(total_num_samps_, max_samples_per_packet),                  if_packet_info,                  io_type, otw_type,                  vrt_packer, | 
