diff --git a/src/alsa/mod.rs b/src/alsa/mod.rs index dca18df..f3587bd 100644 --- a/src/alsa/mod.rs +++ b/src/alsa/mod.rs @@ -138,7 +138,10 @@ impl Endpoint { let max_channels = cmp::min(max_channels, 32); // TODO: limiting to 32 channels or too much stuff is returned let supported_channels = (min_channels .. max_channels + 1).filter_map(|num| { if alsa::snd_pcm_hw_params_test_channels(playback_handle, hw_params.0, num) == 0 { - Some(iter::repeat(ChannelPosition::FrontLeft).take(num as usize).collect::>()) // FIXME: + Some([ChannelPosition::FrontLeft, ChannelPosition::FrontRight, + ChannelPosition::BackLeft, ChannelPosition::BackRight, + ChannelPosition::FrontCenter, ChannelPosition::LowFrequency] + .iter().take(num as usize).cloned().collect::>()) } else { None }