[alsa-devel] Query - ASoC headphone detection stereo vs. mono

Mark Brown broonie at opensource.wolfsonmicro.com
Thu Mar 31 23:56:48 CEST 2011

On Thu, Mar 31, 2011 at 11:28:18AM -0700, Patrick Lai wrote:
> I would like to get a better understanding on how to propagate
> channel mode of inserted headphone through soc-jack framework? I
> looked at jack.h and I don't see any definition of channel mode. I
> would assume that user-space needs this information in order to set
> up the path in the audio CODEC properly such as mixing stereo
> content into mono stream inside CODEC. How is use case handled on
> other platform?

Generally this is handled by taking advantage of the fact that from the
fact that when you connect a mono headphone it shorts left and right
channels together so you should get audio out with a combination of the
two channels.  Quality won't be great and you could save power with
mono playback but it should work and probably you're not doing lengthy
playback if you only have mono output.

I think most people are working on the basis that mono headphones are so
vanishingly rare these days that it's just not worth worrying about them
- music playback is so common that even low end devices support it and
it's getting hard to find mono headsets out there.

We could slot it in relatively easily, we'd just need to add separate
reports for left and right channels inside the kernel and then either
ignore it for userspace or come up with some sane way of propagating the
information out there too.  Like Liam says we can discuss this at the
conference if nobody comes up with a patch by then.

More information about the Alsa-devel mailing list