On 02/28/2014 02:49 PM, Raymond Yau wrote:
2014-02-28 15:57 GMT+08:00 David Henningsson <david.henningsson@canonical.com mailto:david.henningsson@canonical.com>:
It means we need to initialize this order: 1) Read the ttable to figure out which channels are present 2) Open slave pcm and find a matching chmap 3) Determine size of ttable (this can now depend on the chmap) 4) Read ttable coefficients 5) At prepare time, select the matching chmap
Do this patch assume the slave.pcm of the route plugin must have a channel map ?
No. In that case, it will fall back to ALSA's standard channel map ( FL -> 0, FR -> 1, etc).
are there any side effect when some of sound cards using route but does not have channel map ?
If there is no channel map, things should remain unchanged.
e.g. ice1712,
playback.pcm { type hooks slave.pcm { type route ttable.0.8 1 ttable.1.9 1 slave.pcm { type hw card $CARD } slave.format S32_LE slave.channels 10 }
rme9652, ....
slave.pcm { type route slave { pcm { type hw card $CARD } channels 26 } ttable.0.24 1 ttable.1.25 1