alsa-mixer: Detect and then drop pointless paths in the path set.
authorColin Guthrie <colin@mageia.org>
Sat, 2 Jul 2011 17:14:48 +0000 (18:14 +0100)
committerColin Guthrie <colin@mageia.org>
Wed, 20 Jul 2011 21:23:11 +0000 (22:23 +0100)
commit5c832a5b8a2bc2ce7447eab10acaeed30cd3ed78
tree13ee25699fb203ab0060d44a209d27deace2c961
parent85834107a0eb81a823287b3a9ae834314961c290
alsa-mixer: Detect and then drop pointless paths in the path set.

In order to try and avoid 'spamming' the user with port choices,
attempt to detect and remove any pointless paths in a path set. That is
any paths which are subsets of other paths.

This should solve a problem case with some USB Headsets which result in
two paths both involving the 'Speaker' element. When no 'Master' element
exists (which is quite common on head/handsets), then the first path
(analog-output) will contain the 'Speaker' in a way that completely fits
with in the use of the 'Speaker' element in the other path
(analog-output-speaker).
src/modules/alsa/alsa-mixer.c
src/modules/alsa/alsa-sink.c
src/modules/alsa/alsa-source.c