source/sink: fix automatic bandwidth selection
This commit is contained in:
parent
882cac8465
commit
56281a6a30
|
@ -518,7 +518,7 @@ double sink_impl::set_bandwidth( double bandwidth, size_t chan )
|
||||||
BOOST_FOREACH( sink_iface *dev, _devs )
|
BOOST_FOREACH( sink_iface *dev, _devs )
|
||||||
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
|
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
|
||||||
if ( chan == channel++ ) {
|
if ( chan == channel++ ) {
|
||||||
if ( _bandwidth[ chan ] != bandwidth ) {
|
if ( _bandwidth[ chan ] != bandwidth || 0.0f == bandwidth ) {
|
||||||
_bandwidth[ chan ] = bandwidth;
|
_bandwidth[ chan ] = bandwidth;
|
||||||
return dev->set_bandwidth( bandwidth, dev_chan );
|
return dev->set_bandwidth( bandwidth, dev_chan );
|
||||||
} else { return _bandwidth[ chan ]; }
|
} else { return _bandwidth[ chan ]; }
|
||||||
|
|
|
@ -722,7 +722,7 @@ double source_impl::set_bandwidth( double bandwidth, size_t chan )
|
||||||
BOOST_FOREACH( source_iface *dev, _devs )
|
BOOST_FOREACH( source_iface *dev, _devs )
|
||||||
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
|
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
|
||||||
if ( chan == channel++ ) {
|
if ( chan == channel++ ) {
|
||||||
if ( _bandwidth[ chan ] != bandwidth ) {
|
if ( _bandwidth[ chan ] != bandwidth || 0.0f == bandwidth ) {
|
||||||
_bandwidth[ chan ] = bandwidth;
|
_bandwidth[ chan ] = bandwidth;
|
||||||
return dev->set_bandwidth( bandwidth, dev_chan );
|
return dev->set_bandwidth( bandwidth, dev_chan );
|
||||||
} else { return _bandwidth[ chan ]; }
|
} else { return _bandwidth[ chan ]; }
|
||||||
|
|
Loading…
Reference in New Issue