source/sink: fix automatic bandwidth selection

This commit is contained in:
Dimitri Stolnikov 2013-10-03 14:20:31 +02:00
parent 2d644d2eae
commit 6187f182d5
2 changed files with 2 additions and 2 deletions

View File

@ -517,7 +517,7 @@ double osmosdr_sink_c_impl::set_bandwidth( double bandwidth, size_t chan )
BOOST_FOREACH( osmosdr_snk_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _bandwidth[ chan ] != bandwidth ) {
if ( _bandwidth[ chan ] != bandwidth || 0.0f == bandwidth ) {
_bandwidth[ chan ] = bandwidth;
return dev->set_bandwidth( bandwidth, dev_chan );
} else { return _bandwidth[ chan ]; }

View File

@ -721,7 +721,7 @@ double osmosdr_source_c_impl::set_bandwidth( double bandwidth, size_t chan )
BOOST_FOREACH( osmosdr_src_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _bandwidth[ chan ] != bandwidth ) {
if ( _bandwidth[ chan ] != bandwidth || 0.0f == bandwidth ) {
_bandwidth[ chan ] = bandwidth;
return dev->set_bandwidth( bandwidth, dev_chan );
} else { return _bandwidth[ chan ]; }