At Wed, 16 Jan 2008 15:23:37 +0100 (CET), Jaroslav Kysela wrote:
Hi,
I am actually thinking to add TLV support to each PCM stream. The reason is to obtain various "static" information from the driver without even opening the PCM stream. The current API lack:
a) get channel info / name / position (e.g. Front Left Speaker)
- not sure how to handle multichannel cards
This won't work with the static TLV because the channel mapping is a dynamic information. It varies depending on the hw_params setting. A typical difference is the mappings between 4 and 6 channels (FL/FR/RL/RR and FL/FR/C/LFE/RL/RR).
- I'm sure that this is something to be user configurable
Everything is user-configurable :)
But the channel mapping is basically bound to the driver implementation, so rather there is no real user-configuration, AFAIK.
I've already hacked to extend channel_info to include this information. If you're interested, I'll post patches.
b) get possible channels c) get possible formats
These *could* be dynamic, too. That's why we have a complex hw_params procedure. But, they are static for most cases, so it would likely work.
d) various inter-PCM-device constraint description (e.g. if S/PDIF PCM stream can be used with analog etc.)
This sounds good. Any practical use in mind?
e) eventually more information for device name hinting for userspace (current problems for HDA, AC97, USB devices are that we have only one .conf file per driver covering all hardware - we need to detect real device capabilities and show only devices which can be really used)
This would be helpful, too.
Takashi