CELF Project Proposal/Complete hardware, use-case handling in ALSA


 * Summary : Complete ALSA hardware scenario/use case support in alsa-lib and salsa-lib


 * Proposer : Liam Girdwood

Description
Modern mobile devices are increasingly required to provide a rich set of audio functionality required by today's applications. ALSA currently lacks a portable and high level API to configure audio hardware function and signal routing.

e.g. there is no portable method atm to configure the audio hardware to make a "handset gsm phone call" or "handset voip phone call", etc.

This purpose of this project would be to complete the ALSA scenario manager API and get it accepted upstream in alsa-lib and salsa-lib. The code is nearly ready for upstream, with some work required on it's file format as the main piece of outstanding work.

Related Work
More Info:
 * http://www.slimlogic.co.uk/?p=40

API header: http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=include/ascenario.h;h=b1395515b035629d09cd9b3d3a224743053aa159;hb=ascenario

Development branch now hosted as alsa-lib branch here:
 * http://git.alsa-project.org/?p=alsa-lib.git;a=shortlog;h=ascenario

Scope
This project will probably take between 2 - 4 weeks.

Comments
I don't think "portable" is correct. If you're using ALSA, your code is already "non-portable" since it's specific to ALSA which means it's specific to Linux. ALSA itself works in all Linux deployments.