diff options
Diffstat (limited to 'lib/file')
-rw-r--r-- | lib/file/file_source_c.cc | 17 | ||||
-rw-r--r-- | lib/file/file_source_c.h | 4 |
2 files changed, 14 insertions, 7 deletions
diff --git a/lib/file/file_source_c.cc b/lib/file/file_source_c.cc index d4a0f1f..671c6c9 100644 --- a/lib/file/file_source_c.cc +++ b/lib/file/file_source_c.cc @@ -26,7 +26,6 @@ #include <boost/format.hpp> #include <gnuradio/io_signature.h> -#include <gnuradio/blocks/file_source.h> #include "file_source_c.h" @@ -78,18 +77,17 @@ file_source_c::file_source_c(const std::string &args) : _file_rate = _rate; - gr::blocks::file_source::sptr src = \ - gr::blocks::file_source::make( sizeof(gr_complex), - filename.c_str(), - repeat ); + _source = gr::blocks::file_source::make( sizeof(gr_complex), + filename.c_str(), + repeat ); _throttle = gr::blocks::throttle::make( sizeof(gr_complex), _file_rate ); if (throttle) { - connect( src, 0, _throttle, 0 ); + connect( _source, 0, _throttle, 0 ); connect( _throttle, 0, self(), 0 ); } else { - connect( src, 0, self(), 0 ); + connect( _source, 0, self(), 0 ); } } @@ -122,6 +120,11 @@ size_t file_source_c::get_num_channels( void ) return 1; } +bool file_source_c::seek( long seek_point, int whence , size_t chan ) +{ + return _source->seek( seek_point, whence ); +} + osmosdr::meta_range_t file_source_c::get_sample_rates( void ) { osmosdr::meta_range_t range; diff --git a/lib/file/file_source_c.h b/lib/file/file_source_c.h index d2d71ca..3e03037 100644 --- a/lib/file/file_source_c.h +++ b/lib/file/file_source_c.h @@ -21,6 +21,7 @@ #define FILE_SOURCE_C_H #include <gnuradio/hier_block2.h> +#include <gnuradio/blocks/file_source.h> #include <gnuradio/blocks/throttle.h> #include "source_iface.h" @@ -49,6 +50,8 @@ public: size_t get_num_channels( void ); + bool seek( long seek_point, int whence, size_t chan ); + osmosdr::meta_range_t get_sample_rates( void ); double set_sample_rate( double rate ); double get_sample_rate( void ); @@ -72,6 +75,7 @@ public: std::string get_antenna( size_t chan = 0 ); private: + gr::blocks::file_source::sptr _source; gr::blocks::throttle::sptr _throttle; double _file_rate; double _freq, _rate; |