[alsa-devel] Automatically disabling internal speakers when headphones are plugged in

Mark Brown broonie at opensource.wolfsonmicro.com
Thu Jan 20 21:39:20 CET 2011

On Thu, Jan 20, 2011 at 11:17:08AM -0800, Stephen Warren wrote:

> However, I wonder if that's the correct approach; should the plug detect
> logic only control the headphone output (i.e. only include the first array
> entry in jack_pins[] above), and leave it up to user-space whether to
> disable the speaker in this case, using a custom Speaker Function control
> created by the machine driver, as I see many other drivers expose?

You really should leave the headphone alone unless there's a reason the
two can't be simultaneously active (eg, being wired in parallel to the
same outputs or power constraints) but it won't break anything from an
ASoC point of view.  It will disable some use cases, though, the main
one being that it won't be possible to play notifications to headphones
and speaker simultaneously.  This is often used for notifications on
portable devices as the user may have inserted headphones during music
playback but removed them for some reason, rendering tones played only
through the headphones inaudible.

> Do the jack reports make it up to user-space so that could be implemented?

The jacks appear in userspace as input devices.

More information about the Alsa-devel mailing list