Hello list,
This is basically a resend of http://thread.gmane.org/gmane.linux.alsa.devel/59481/focus=59672 , which fixed the front: device of ice1712 cards to accept two-channel input. Currently, the front: device is exposed through the route plugin, which requires all clients to mmap all 10 channels, even though the front device is supposed to be a stereo device.
This patch changes the front: device definition such that it matches the definition of iec958 in the same file. Additionally, I'm tempted to remove the surround* definitions because the chip does not really offer surround-style multichannel: it basically just offers multiple stereo channels, and does not provide any channel mapping beyond stereo.
Finally, I'm also experimenting with the dshare plugin to allow applications to access the iec958: and front: devices simultaneously. Can anyone point me to a working example for this? From reading the alsa-lib documentation, it is not clear to me how I should nest the different plugins.
Many thanks, Arno Schuring
--
diff --git a/src/conf/cards/ICE1712.conf b/src/conf/cards/ICE1712.conf index 01e50d2..d7acb81 100644 --- a/src/conf/cards/ICE1712.conf +++ b/src/conf/cards/ICE1712.conf @@ -32,12 +32,28 @@ ICE1712.pcm.front.0 { @args.CARD { type string } - type route - ttable.0.0 1 - ttable.1.1 1 - slave.pcm { - type hw - card $CARD + type asym + playback.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + slave.pcm { + type hw + card $CARD + } + slave.format S32_LE + slave.channels 10 + } + capture.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + slave.pcm { + type hw + card $CARD + } + slave.format S32_LE + slave.channels 12 } }