Takashi Iwai wrote:
Clemens Ladisch wrote:
Takashi Iwai wrote:
Currently the channel-mapping information is a missing piece in ALSA framework, and it's a very long-standing item on my TODO list.
The implementation itself should be easy, but the only question is the API design. If you have a good proposal, please speak up.
TLVs on media controller entities.
Well, my concern is that it might be too far from the other PCM stuff. How the implementation would look like?
There is one media controller device node per device (= ALSA card), containing multiple entities (similar to how a ctl device contains multiple controls). /dev/media42 _is_ separate, but the entity that represents a PCM device is handled by the PCM code, so it would be possible to have a shortcut to get a PCM device's TLVs directly.
More question is whether this information should be available before or after hw_params setup.
This is pretty much static information, which is available even when the PCM device isn't opened.
BTW, the channel-mapping info can be useful for the automatic plug layer, too.
And if there is a need for channel mapping information of ALSA plugins, there needs to be a userspace library for the media controller API.
Regards, Clemens