diff --git a/lib/sink_impl.cc b/lib/sink_impl.cc index 40decfc..9362ae4 100644 --- a/lib/sink_impl.cc +++ b/lib/sink_impl.cc @@ -518,7 +518,7 @@ double sink_impl::set_bandwidth( double bandwidth, size_t chan ) BOOST_FOREACH( sink_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 ]; } diff --git a/lib/source_impl.cc b/lib/source_impl.cc index 9bd7df5..075bd29 100644 --- a/lib/source_impl.cc +++ b/lib/source_impl.cc @@ -722,7 +722,7 @@ double source_impl::set_bandwidth( double bandwidth, size_t chan ) BOOST_FOREACH( source_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 ]; }