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

Jaroslav Kysela perex at perex.cz
Tue Sep 7 16:42:57 CEST 2010


On Tue, 7 Sep 2010, Liam Girdwood wrote:

> Hi Jaroslav,
>
> Any update on this ? I have someone scheduled to write new use case
> files and someone else ready to add PA support.

Hi,

I'm working on this. Unfortunately, I have other things which interrupts 
this work. The actual code is at:

http://git.alsa-project.org/?p=alsa-lib.git;a=shortlog;h=ucm

During coding, it appears that even the handling of controls might be 
changed. Your code has everything build-in. I'm not sure why to restrict 
the card/verb/modifier/transition definitions only for the universal 
control API. I think that it might be more "easy to understand" and 
universal to define just sequence of commands like:

SectionDefaults [
         exec "amixer cset name='Master Playback Switch',index=2 1,1"
         exec "amixer cset name='Master Playback Volume',index=2 25,25"
         exec "amixer cset name='Master Mono Playback',index=1 0"
         exec "amixer cset name='Master Mono Playback Volume',index=1 0"
         msleep 50 # or: exec "usleep 50000"
         exec "amixer cset name='PCM Switch',index=2 1,1"
         ........
]

Because "amixer cset" command will be probably most used command, we can 
eventually move the amixer code to alsa-lib to not create so much 
processes and speed-up things.

It means that the ucm should not track card controls, but commands for 
transitions.

The only thing which might "broke" things is calling fork from a pthread:

http://unix.derkeiler.com/Newsgroups/comp.unix.programmer/2003-09/0672.html

But it seems that fork/immediate-exec is an acceptable way.

Comments?

 						Jaroslav

-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.



More information about the Alsa-devel mailing list