Needs more investigation, but if cras opens the device with 4 channels, and you then try to play a 6 channel stream, you get corrupt audio.
This can be reproduced by waiting for the device to be closed (after 10s of inactivity), then playing a 4 channel stream, then additionally playing a 6 channel stream before the device is closed.
Playing a 4 channel stream when the device was opened results in the audio being downmixed to stereo.
Other combinations, eg opening with 6 and playing a 2 channel stream seems to work.
In general - we should re-open the device with different settings when we start to play a stream that is not compatible with the current config.
Comment 1 by benhenry@chromium.org
, Aug 3