[alsa-devel] [pulseaudio-discuss] ThinkPad T-510 audio output mute LED non-workingness

Glenn Golden gdg at zplane.com
Sat May 16 22:32:57 CEST 2015


David Henningsson <david.henningsson at canonical.com> [2015-05-11 14:56:45 +0200]:
> 
> 
> On 2015-05-07 02:15, Glenn Golden wrote:
> >  8.  ...because [Alsa? Pulseaudio?] maintains two independent mixer mute state
> >      variables -- one for headphone port, one for speaker port -- the semantics
> >      of both the mute key and the mute LED become less straightforward than
> >      with the hardware-based mute in 3.18.
> 
> The mute LED follows the state of ALSA's "Master Playback Switch". When that
> one is off, neither 3.5 mm headphone nor internal speakers have output -
> they're both muted.
> 
> PulseAudio's abstraction layer sets "Master Playback Switch" according to
> its active port's mute state. PulseAudio's active port (here speaker or
> headphone) will, by default, change automatically as headphones are plugged
> in or unplugged.
> 

Thanks, David.  I updated #7 and #8 per your comments above:

 =============================================================================
 7.  If you elect to have the mute key toggle the Master Playback mute via an
     event which invokes pactl/pacmd/amixer/[insert fave mixer control tool]
     then the mute LED will automatically follow the Master Playback mute state
     as mentioned above, thus no explicit action is required to make the LED
     work.  But! ...

 8.  ...if you also use PulseAudio, then the situation becomes a little more
     complicated, because PA maintains two independent mixer mute state
     variables, one for the headphone port, one for the speaker port, and the
     following caveats apply:

       * The mute key (via your userspace mixer control event handler) will
         toggle only the port (HPH or SPKR) that happens to be active at that
         time, and will have no effect on the mute state of the other port.

       * PulseAudio forces the Master Playback mute state to follow the mute
         state of its curently active port, hence...

       * ...the mute LED will likewise follow the mute state of PA's active
         port via kernel auto-synch (as described in (5) above).

     Taken together, these imply that when PulseAudio is in the picture, no
     unequivocal semantic can be attached to "mute LED on", as it was with
     hardware-based mute in 3.18: All you can say is that if the LED is on,
     then PulseAudio's active port is muted via the mixer; the LED gives no
     information about the inactive port's mute state.  One possibly surprising
     consequence of this is that if the ALSA 'auto-mute' feature is enabled,
     then the mute LED may (or may not) change state simply by the action of
     plugging or unplugging the headphones, since doing so automatically
     switches the active port.
 =============================================================================



More information about the Alsa-devel mailing list