[alsa-devel] RFC: ice1712 virtual devices

Arno Schuring aelschuring at hotmail.com
Thu Oct 29 18:48:46 CET 2009


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
        }
 }



More information about the Alsa-devel mailing list