Merge commit 'v3.3.0' into upstream
[debian/gnuradio] / gr-usrp2 / src / usrp2_source_16sc.cc
index b12a6eecea9166cfef7791275b93ee7a21b25f53..33114b51d3a8c10c05dd233da1c604317183ed60 100644 (file)
@@ -21,7 +21,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
 #endif
 
 #include <usrp2_source_16sc.h>
@@ -33,7 +33,7 @@ usrp2_source_16sc_sptr
 usrp2_make_source_16sc(const std::string &ifc, const std::string &mac_addr) 
   throw (std::runtime_error)
 {
-  return usrp2_source_16sc_sptr(new usrp2_source_16sc(ifc, mac_addr));
+  return gnuradio::get_initial_sptr(new usrp2_source_16sc(ifc, mac_addr));
 }
 
 usrp2_source_16sc::usrp2_source_16sc(const std::string &ifc, const std::string &mac_addr) 
@@ -47,6 +47,7 @@ usrp2_source_16sc::usrp2_source_16sc(const std::string &ifc, const std::string &
 
 usrp2_source_16sc::~usrp2_source_16sc()
 {
+  // NOP
 }
 
 int
@@ -58,9 +59,11 @@ usrp2_source_16sc::work(int noutput_items,
 
   rx_16sc_handler::sptr handler = rx_16sc_handler::make(noutput_items, USRP2_MIN_RX_SAMPLES, out);
 
-  bool ok = d_u2->rx_samples(0, handler.get());
-  if (!ok)
+  bool ok = d_u2->rx_samples(0, handler.get()); // FIXME: channel number instead of 0
+  if (!ok){
     std::cerr << "usrp2::rx_samples() failed" << std::endl;
+    return -1; // say we're done
+  }
 
   return handler->nsamples();
 }