On 10/19/2011 08:47 PM, Maarten Bosmans wrote: > 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. Hmm, a while ago I ran into the same thing, filed bug https://bugs.freedesktop.org/show_bug.cgi?id=40910 and forgot about it. I agree, analog-output-lfe-on-mono shouldn't be a subset of analog-output-mono, but I'm not sure how these merge masks and override-maps work so I can't tell if your fix is right or wrong (at least not without looking more deeply into it). -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic