[pulseaudio-discuss] [PATCH] alsa-mixer: Take channel mask of volume element into account when finding a subset path

Maarten Bosmans mkbosmans at gmail.com
Wed Oct 19 11:47:25 PDT 2011


The patch looks simple, but I'm not entirely sure the concept is
sound. Please review.

The problem I'm trying to solve is that analog-output-mono is (in my
view incorrectly) seen as a subset of analog-output-lfe-on-mono.
Relevant debug output:

D: [lt-pulseaudio] alsa-mixer.c: Path analog-output-mono (Analoge
mono-uitvoer), direction=1, priority=50, probed=yes, supported=yes,
has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0, max_volume=31,
min_dB=-81, max_dB=12
D: [lt-pulseaudio] alsa-mixer.c: Element Master, direction=1,
switch=2, volume=2, volume_limit=-1, enumeration=0, required=0,
required_any=0, required_absent=0, mask=0x6, n_channels=2,
override_map=no
D: [lt-pulseaudio] alsa-mixer.c: Element Master Mono, direction=1,
switch=1, volume=1, volume_limit=-1, enumeration=0, required=4,
required_any=0, required_absent=0, mask=0x7ffffffffffff, n_channels=1,
override_map=yes
D: [lt-pulseaudio] alsa-mixer.c: Element PCM, direction=1, switch=1,
volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0,
required_absent=0, mask=0x3600000000f66, n_channels=2,
override_map=yes

D: [lt-pulseaudio] alsa-mixer.c: Path analog-output-lfe-on-mono
(Analoge output (LFE)), direction=1, priority=40, probed=yes,
supported=yes, has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0,
max_volume=31, min_dB=-81, max_dB=12
D: [lt-pulseaudio] alsa-mixer.c: Element Master, direction=1,
switch=1, volume=1, volume_limit=-1, enumeration=0, required=0,
required_any=0, required_absent=0, mask=0x3600000000f66, n_channels=2,
override_map=yes
D: [lt-pulseaudio] alsa-mixer.c: Element Master Mono, direction=1,
switch=1, volume=1, volume_limit=-1, enumeration=0, required=4,
required_any=0, required_absent=0, mask=0x80, n_channels=1,
override_map=yes
D: [lt-pulseaudio] alsa-mixer.c: Element PCM, direction=1, switch=1,
volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0,
required_absent=0, mask=0x3600000000f66, n_channels=2,
override_map=yes

D: [lt-pulseaudio] alsa-mixer.c: Removing path 'analog-output-mono' as
it is a subset of 'analog-output-lfe-on-mono'.

Is it correct to think that analog-output-mono should not be a subset
of analog-output-lfe-on-mono? If it is, the patch fixes this.

Maarten


More information about the pulseaudio-discuss mailing list