[alsa-devel] TLV support for PCM (in driver)

Takashi Iwai tiwai at suse.de
Wed Jan 16 15:49:20 CET 2008


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


More information about the Alsa-devel mailing list