[pulseaudio-discuss] [PATCH 0/2] Enable 2.1 surround over the channel mapping API
david.henningsson at canonical.com
Tue Oct 22 22:13:54 CEST 2013
These two patches make sense to apply individually, but also complement each
other as the channel mapping API can be used to check whether the four channel
output is actually 2.1 or 4.0.
I think the 2.1 patch is safe to apply right now, but I'd like to test the
channel map API patch more first.
Also, while the channel map API patch is useful as it is, there is at least
room for these improvements:
1) In case ALSA supports all the channels PA wants to output to, but only in
another order than PA would like it to be, PA should adjust its channel map
order accordingly. This is probably easy to do, I just haven't done it. So
currently only the other way around is supported, i e, making ALSA adjust to
PA's preferred order.
2) ALSA's "paired" mode of channel map is treated as "fixed" mode.
3) In case a device does not support the channel map API at all (no channel maps
returned from the query_chmap call), there is no use doing the set_chmap call
Note: on one device I tested on, a USB headset, the mono channel map was not
given by the kernel. As a result, mono output profile was no longer available.
This should be fixed in the kernel.
David Henningsson (2):
alsa: Use alsa-lib's channel mapping API to select the best channel
alsa: Add surround 2.1 profile
src/modules/alsa/alsa-sink.c | 6 +
src/modules/alsa/alsa-source.c | 6 +
src/modules/alsa/alsa-util.c | 142 +++++++++++++++++++++
src/modules/alsa/alsa-util.h | 2 +
src/modules/alsa/mixer/profile-sets/default.conf | 7 +
.../alsa/mixer/profile-sets/extra-hdmi.conf | 7 +
.../profile-sets/force-speaker-and-int-mic.conf | 7 +
.../alsa/mixer/profile-sets/force-speaker.conf | 7 +
8 files changed, 184 insertions(+)
More information about the pulseaudio-discuss