File alsa-lib-ice1724-spdif-fix.diff of Package alsa
commit cb1fd837d93fbc495eab4aa3efaf8072937ff2df
Author: Takashi Iwai <tiwai@suse.de>
Date: Wed Nov 19 14:59:03 2008 +0100
Add linear plugin wrapping iec958 PCM for ice1724-based boards
The ice1724-based cards can handle only 32bit while the apps almost
expet 16bit format for SPDIF I/O. This prevents the default config
working on many apps like mplayer, xine, etc.
This patch simply adds the least automatic conversion by linear plugin.
Note that "plug" isn't used here. Otherwise we get a problem of the
routing (plug over plug is buggy).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/src/conf/cards/Aureon51.conf b/src/conf/cards/Aureon51.conf
index 1b8ee85..24b4d94 100644
--- a/src/conf/cards/Aureon51.conf
+++ b/src/conf/cards/Aureon51.conf
@@ -121,6 +121,8 @@ Aureon51.pcm.iec958.0 {
}
type asym
playback.pcm {
+ type linear
+ slave.pcm {
type hooks
slave.pcm {
type hw
@@ -147,8 +149,12 @@ Aureon51.pcm.iec958.0 {
}
]
}
+ }
+ slave.format S32_LE
}
capture.pcm {
+ type linear
+ slave.pcm {
type hooks
slave.pcm {
type hw
@@ -167,5 +173,7 @@ Aureon51.pcm.iec958.0 {
}
]
}
+ }
+ slave.format S32_LE
}
}
diff --git a/src/conf/cards/Aureon71.conf b/src/conf/cards/Aureon71.conf
index 8a88cce..1479c25 100644
--- a/src/conf/cards/Aureon71.conf
+++ b/src/conf/cards/Aureon71.conf
@@ -132,6 +132,8 @@ Aureon71.pcm.iec958.0 {
}
type asym
playback.pcm {
+ type linear
+ slave.pcm {
type hooks
slave.pcm {
type hw
@@ -158,8 +160,12 @@ Aureon71.pcm.iec958.0 {
}
]
}
+ }
+ slave.format S32_LE
}
capture.pcm {
+ type linear
+ slave.pcm {
type hooks
slave.pcm {
type hw
@@ -178,5 +184,7 @@ Aureon71.pcm.iec958.0 {
}
]
}
+ }
+ slave.format S32_LE
}
}
diff --git a/src/conf/cards/ICE1724.conf b/src/conf/cards/ICE1724.conf
index 7f15332..e806b36 100644
--- a/src/conf/cards/ICE1724.conf
+++ b/src/conf/cards/ICE1724.conf
@@ -166,6 +166,8 @@ ICE1724.pcm.iec958.0 {
}
type asym
playback.pcm {
+ type linear
+ slave.pcm {
type hooks
slave.pcm {
type hw
@@ -192,8 +194,12 @@ ICE1724.pcm.iec958.0 {
}
]
}
+ }
+ slave.format S32_LE
}
capture.pcm {
+ type linear
+ slave.pcm {
type hooks
slave.pcm {
type hw
@@ -212,5 +218,7 @@ ICE1724.pcm.iec958.0 {
}
]
}
+ }
+ slave.format S32_LE
}
}