[PATCH 0/2] Enable 2.1 surround over the channel mapping API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
    later.

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
    map
  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(+)

-- 
1.8.3.2



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux