]> code.delx.au - pulseaudio/commitdiff
alsa: fix mixer profiles, add passthrough config
authorPierre-Louis Bossart <pierre-louis.bossart@intel.com>
Mon, 12 Jul 2010 17:24:22 +0000 (12:24 -0500)
committerColin Guthrie <cguthrie@mandriva.org>
Tue, 13 Jul 2010 22:33:45 +0000 (23:33 +0100)
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
src/Makefile.am
src/modules/alsa/alsa-mixer.c
src/modules/alsa/mixer/profile-sets/default.conf

index 01ec1a5f3827a60d88197923fff48d9b28e9d6f5..46e6577e0742e0b8c31c84ca4c4e4f3b2538d31a 100644 (file)
@@ -1123,7 +1123,9 @@ dist_alsapaths_DATA = \
                modules/alsa/mixer/paths/analog-output-headphones.conf \
                modules/alsa/mixer/paths/analog-output-headphones-2.conf \
                modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf \
-               modules/alsa/mixer/paths/analog-output-mono.conf
+               modules/alsa/mixer/paths/analog-output-mono.conf \
+               modules/alsa/mixer/paths/iec958-stereo-output.conf \
+               modules/alsa/mixer/paths/iec958-passthrough-output.conf
 
 endif
 
index b2888a360cf3b712d9a37795859f2b9f2b85d6ca..1033bbeac553cecf1203d45d1b8cc4982497183e 100644 (file)
@@ -1783,7 +1783,9 @@ static int path_verify(pa_alsa_path *p) {
         { "analog-output-headphones",   N_("Analog Headphones") },
         { "analog-output-lfe-on-mono",  N_("Analog Output (LFE)") },
         { "analog-output-mono",         N_("Analog Mono Output") },
-        { "analog-output-speaker",      N_("Analog Speakers") }
+        { "analog-output-speaker",      N_("Analog Speakers") },
+        { "iec958-stereo-output",       N_("Digital Output (IEC958)") },
+        { "iec958-passthrough-output",  N_("Digital Passthrough (IEC958)") }
     };
 
     pa_alsa_element *e;
@@ -2806,7 +2808,7 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {
         { "analog-surround-70",     N_("Analog Surround 7.0") },
         { "analog-surround-71",     N_("Analog Surround 7.1") },
         { "iec958-stereo",          N_("Digital Stereo (IEC958)") },
-        { "iec958-surround-40",     N_("Digital Surround 4.0 (IEC958)") },
+        { "iec958-passthrough",     N_("Digital Passthrough  (IEC958)") },
         { "iec958-ac3-surround-40", N_("Digital Surround 4.0 (IEC958/AC3)") },
         { "iec958-ac3-surround-51", N_("Digital Surround 5.1 (IEC958/AC3)") },
         { "hdmi-stereo",            N_("Digital Stereo (HDMI)") }
@@ -2932,7 +2934,7 @@ static int profile_verify(pa_alsa_profile *p) {
     static const struct description_map well_known_descriptions[] = {
         { "output:analog-mono+input:analog-mono",     N_("Analog Mono Duplex") },
         { "output:analog-stereo+input:analog-stereo", N_("Analog Stereo Duplex") },
-        { "output:iec958-stereo",                     N_("Digital Stereo Duplex (IEC958)") },
+        { "output:iec958-stereo+input:iec958-stereo", N_("Digital Stereo Duplex (IEC958)") },
         { "off",                                      N_("Off") }
     };
 
index 5d352f1cacd2d74157e4958d3244f25830f52760..f470d60491def05503179297e88b23201204c177 100644 (file)
@@ -112,12 +112,16 @@ direction = output
 [Mapping iec958-stereo]
 device-strings = iec958:%f
 channel-map = left,right
+paths-input = iec958-stereo-input
+paths-output = iec958-stereo-output
 priority = 5
 
-[Mapping iec958-surround-40]
+[Mapping iec958-passthrough]
 device-strings = iec958:%f
-channel-map = front-left,front-right,rear-left,rear-right
-priority = 1
+channel-map = left,right
+direction = output
+paths-output = iec958-passthrough-output
+priority = 5
 
 [Mapping iec958-ac3-surround-40]
 device-strings = a52:%f