[alsa-devel] [PATCH 0/3] alsa-lib: UCM - Use Case Manager

Liam Girdwood lrg at slimlogic.co.uk
Wed Aug 25 11:26:40 CEST 2010


On Wed, 2010-08-25 at 10:28 +0200, Jaroslav Kysela wrote:
> On Tue, 24 Aug 2010, Liam Girdwood wrote:
> 
> > On Mon, 2010-08-23 at 19:47 +0200, Jaroslav Kysela wrote:
> >
> >> Unfortunately, I have many ideas to improve the API before I can approve
> >> or recommend the inclusion to the alsa-lib's tree.
> >>
> >
> > I wish you had shared your API ideas with us at the time of the RFC. A
> > lot of time and effort has since went into UCM development :-/
> 
> I too. My big problem is the lack of time.

Same here, not enough hours in the day.

> 
> I tried to rethink the API to be more universal for future extensions (but 
> the implementation will not dramatically change and the mechanisms you 
> want to expose are not touched at all). I just wanted to add the 
> possibility to create the virtual cards combining resources from any 
> PCM/control/mixer device available in system. The proper device evaluation 
> and mixer control assignments is something which is wanted by PulseAudio 
> developers.
> 
> My proposed header file with reduced function set but not reduced 
> functionality is available at:
> 
> http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=include/use-case.h;h=33d480f66d000fa7c86367c68b98bdaad9217a74;hb=fcc9adb26058667656277ba92032ba7e0b00261c
> 

ok, that looks good.

> The syntax of your proposed files is very close to the other alsa-lib's 
> syntax. For example:
> 
> SectionModifier
>  	Name "Capture Voice"
>  	EnableSequence
>  		seq1 1
>  	EndSequence
>  	QoS Voice
> EndSection
> 
> Can be written in alsa-lib's syntax:
> 
> SectionModifier."Capture Voice" [
>  	EnableSequence [
>  		seq1 1
>  	]
>  	QoS Voice
> ]
> 
> So I'm thinking to recode all parsers to use the alsa-lib configuration 
> parsers. As bonus, the alsa-lib configuration routines give us some 
> runtime evaluation and possibility to reference (include) other files.
> 

ok, I agree here too.

> Next step may be to support the 'amixer' like syntax for the control and 
> mixer element handling.

Btw, we need to try and avoid using the control ID in any mixer syntax.
I found that minor driver changes could change ID numbering meaning
major updates to config files. The mixer names are pretty constant and
using them has been quite painless.

Thanks

Liam


-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk



More information about the Alsa-devel mailing list