All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liam Girdwood <lrg@slimlogic.co.uk>
To: alsa-devel@alsa-project.org
Cc: Takashi Iwai <tiwai@suse.de>, Liam Girdwood <lrg@slimlogic.co.uk>
Subject: [PATCH 0/3] alsa-lib: UCM - Use Case Manager
Date: Mon, 23 Aug 2010 17:17:16 +0100	[thread overview]
Message-ID: <1282580239-10549-1-git-send-email-lrg@slimlogic.co.uk> (raw)

This patch series follows on from the RFC and adds sound card hardware Use Case
Management support to alsa-lib. 
 
The main features of UCM are :-

 o Abstraction of sound card hardware routing and controls into high level
   use case verbs, devices and modifiers.
 o Discovery of source/sink PCMs for each use case.
 o Discovery of hardware master volume controls for each use case.

It's intended UCM will provide clients (like pulseaudio) complete control over
hardware signal routing within a sound card without any knowledge of the
sound card hardware.

Use case definintions are stored in text files (per sound card) and are now
divided into three components as descibed in the RFC. 

A working use case definition file can be found here :-

http://git.slimlogic.co.uk/cgi-bin/cgit.cgi/alsa-ucm-conf.git/tree/cards/SDP4430/hifi

The three components of a use case are now :-

1) Verb (or action). This is mandatory and describes (in terms of ALSA
control settings) the system use case action. e.g "Phone Call", "Music
Playback".

2) Device. This is also mandatory and describes the audio playback or
capture device. e.g. "Handset", "Bluetooth", "Headset".

3) Modifier. This is optional and is used to modify the current use case
verb. i.e. The user could be listening to music when an incoming phone
call requires that a ring tone is played. In this case the use case verb
would be set to "Music Playback" when the music playback started and
then the "Tone Playback" modifier could be enabled to play the ring
tone. The use case verb would then be changed to "Voice Call" if the
call was accepted. 

Patch 2/3 is a little on the large side so, I've included a link if it gets
bounced by the list.

http://git.slimlogic.co.uk/cgi-bin/cgit.cgi/alsa-lib.git/commit/?h=ucm-upstream&id=15d5f619deba20f87075e7c711e6331115fd836d

Liam Girdwood (3):
  ucm: header - ALSA Use Case Manager
  ucm: core - Add initial Use Case Manager support.
  ucm: build - add build support for Use Case Manager

 doc/doxygen.cfg.in  |    1 +
 include/Makefile.am |    2 +-
 include/use-case.h  |  427 +++++++
 src/Makefile.am     |    2 +-
 src/use-case.c      | 3515 +++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 3945 insertions(+), 2 deletions(-)
 create mode 100644 include/use-case.h
 create mode 100644 src/use-case.c

             reply	other threads:[~2010-08-23 16:17 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-23 16:17 Liam Girdwood [this message]
2010-08-23 16:17 ` [PATCH 1/3] ucm: header - ALSA Use Case Manager Liam Girdwood
2010-08-24 19:09   ` Chris Winter
2010-08-24 20:34     ` Liam Girdwood
2010-08-23 16:17 ` [PATCH 3/3] ucm: build - add build support for " Liam Girdwood
2010-08-23 17:47 ` [PATCH 0/3] alsa-lib: UCM - " Jaroslav Kysela
2010-08-23 17:50   ` Mark Brown
2010-08-23 17:51     ` Mark Brown
2010-08-24  9:09   ` Liam Girdwood
2010-08-25  8:28     ` Jaroslav Kysela
2010-08-25  9:26       ` Liam Girdwood
2010-08-25  9:35         ` Jaroslav Kysela
2010-08-25 10:43           ` Liam Girdwood
2010-08-25 16:34             ` Jaroslav Kysela
     [not found]               ` <1283864698.3048.26.camel@odin>
2010-09-07 14:42                 ` Jaroslav Kysela
2010-09-07 15:53                   ` Mark Brown
2010-09-07 18:17                     ` Jaroslav Kysela
2010-09-07 18:53                       ` Mark Brown
2010-09-08  7:54                         ` Jaroslav Kysela
2010-09-08  9:47                           ` Mark Brown
2010-09-08  8:19                         ` Jaroslav Kysela
2010-09-09 12:16                           ` Mark Brown
2010-09-07 20:02                       ` Liam Girdwood
2010-09-07 22:43                         ` Mark Brown
2010-09-20 16:26                   ` Colin Guthrie
2010-09-21 17:13                     ` Chris Winter
2010-09-21 17:40                       ` Mark Brown
2010-09-21 18:11                       ` Jaroslav Kysela
2010-09-22 11:47                         ` Colin Guthrie
2010-09-22 13:20                         ` Mark Brown
2010-09-22 14:06                           ` Jaroslav Kysela
2010-09-22 15:14                             ` Mark Brown
2010-09-22 18:05                               ` Jaroslav Kysela
2010-09-22 18:48                                 ` Mark Brown
2010-09-23  7:18                                   ` Niels Mayer
2010-09-23 10:06                                     ` Mark Brown
2010-09-25 13:07                                     ` Colin Guthrie
2010-09-22 15:20                             ` Liam Girdwood
2010-08-24  1:23 ` Raymond Yau
2010-08-24  9:41   ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1282580239-10549-1-git-send-email-lrg@slimlogic.co.uk \
    --to=lrg@slimlogic.co.uk \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.