[alsa-devel] [RFC] Channel mapping API (take 2)

Tanu Kaskinen tanuk at iki.fi
Wed Sep 5 08:38:26 CEST 2012

On Wed, 2012-09-05 at 08:17 +0200, Takashi Iwai wrote:
> Well, this raises a question "What is mono".
> If this is supposed to be a channel position, then we should add the
> definition.  But is it really so?  If it's a mono stream mixed from
> front left and front right, isn't it a front center?

If it's a playback stream and alsa knows that it will be routed to a
center speaker on a surround system, then yes, it should be front
center. But if the audio ends up in a lone speaker, mixing left and
right doesn't really result in a center position.

I think mono means pretty much "single channel without defined
position", for which SND_CHMAP_UNKNOWN could be a useful choice, except
that I think PulseAudio will end up ignoring channels with
SND_CHMAP_UNKNOWN, because there's no sane definition for how channel
remapping should be done for such channels. But maybe the single channel
case could be treated as an exception - a single channel with
SND_CHMAP_UNKNOWN could be treated as a mono device, for which
downmixing (or upmixing in case of capture) is well defined.


More information about the Alsa-devel mailing list