[alsa-devel] [RFC] Channel mapping API

Clemens Ladisch clemens at ladisch.de
Tue Aug 21 17:38:34 CEST 2012

Takashi Iwai wrote:
> Mark Brown wrote:
>> On Tue, Aug 21, 2012 at 04:13:53PM +0200, David Henningsson wrote:
>>> It reminds me of the discussion we had about jack labelling (for HDA
>>> or everyone? I do not remember), where we ended up having
>>> 1) physical location (left side, internal, docking station)
>>> 2) type (headphone, speaker)
>>> 3) channel map (front, rear, c/lfe)
>>> Maybe that's where this discussion is heading as well? I like the
>>> idea of having the same TLV description for jacks, mixer controls
>>> and PCM channels, maybe that could work for all but the most exotic
>>> cases?
>>> (Where exotic means unusual hw on both the pro-audio and the embedded side)
>> Or perhaps what we want to do here is define the channel mapping in
>> terms of saying "I'm connecting to this input/output" and then use the
>> jack interface to describe all inputs and outputs rather than just jacks
>> (making sure it's easy to see which ones can change state)?
> It's an interesting idea.  But, in the case of HDMI, there are no
> multiple jacks, so this won't fit.  [...]
> The primary goal of this API is to provide a way for apps to decide
> the channel map for multi-channel streams.

Indeed; including the jack location/type would go beyond what the
channel map is useful for.  Playback applications know what kind of
multichannel stream they're playing, but they definitely do _not_ want
to decice if the output should go to the front or back panel.

The channel mapping is a _stream_ configuration, the other routing
choices are device setup.

At the moment, we lack an API to provide topology information.  But
whatever form it takes, it should probably be independent of the channel
mapping.  (I'll see if I can find time to do something about my media
framework patches until next week.)


More information about the Alsa-devel mailing list