UCM for Android

Registered by Kurt Taylor

ALSA Use Case Management is a library that allows user-level applications complete control of the audio hardware, without knowledge of the hardware itself. Although UCM was designed to ease complex mixing environments, especially those found in mobile devices, it was not implemented for Android.

More info: http://www.slimlogic.co.uk/2009/02/alsa-use-case-manager/

Implement full UCM support for Android, building on the groundwork put in place by TI, Wolfson Micro and Android.

    * TinyALSA will be used because of favorable license terms over the ALSA library.
    * Tinyhal support for UCM needs to be enhanced and made fully pluggable exchange with AudioHAL (libaudio). This requires that no modifications are made above AudioHAL interface.
    * Config file format needs conversion or better, consensus on unified version, across Android and Ubuntu formats. The goal here is to have one config work across platform environments. This work will be done in another blueprint(s).

LC4Q11 Session Blueprint - https://blueprints.launchpad.net/linaro-multimedia-ucm/+spec/linaro-gfxmm-audio-ucm4android
Notes from the LCQ411 Session: http://summit.linaro.org/uds-p/meeting/19347/linaro-gfxmm-audio-ucm4android/

This blueprint is for an integrating tinyhal into the linaro build environment and pandaboard prototype.

Linaro git: http://git.linaro.org/gitweb?p=people/kurt-r-taylor/tinyhal.git;a=summary

Blueprint information

Status:
Complete
Approver:
Tom Gall
Priority:
High
Drafter:
Kurt Taylor
Direction:
Approved
Assignee:
Kurt Taylor
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.03
Started by
Kurt Taylor
Completed by
Kurt Taylor

Related branches

Sprints

Whiteboard

Status:
[ibiris 12Dec2011]: this was targeted in 11.12 by mistake, moving to 12.01
[krtaylor 13Feb2012] Note: this work is dependent on the community efforts to drop the initial ICS tinyhardware code. ICS drop still pending.
[krtaylor 15Feb2012] Received initial prototype code (TinyHAL) from community

Meta:
Roadmap id: MMWG2011-UCM-FOR-ANDROID

Headline: Android on pandaboard now has a prototype framework to support application audio device configuration via Use Case Management (UCM).

Acceptance:
Build Android with ported/integrated Tinyalsa/TinyHAL support. Verify new config file loads properly. Test audio playback works with music player and tinyplay.

Output: upload panda prototype to git.linaro.org, document instructions for use

(?)

Work Items

Work items:
Create manual Android build with audio enabled via patches from Linaro Android team for pandaboard: DONE
Debug audio stack and determine usage: DONE
Investigate Android audio hal usage and policy: DONE
Enable and test tinyalsa: DONE
Receive drop of ICS tinyHAL from community: DONE
Document areas for future work needed for full UCM support: DONE
Port and bring up tinyhal on pandaboard: DONE
Create initial pandaboard playback xml config file: DONE
Create clone of project and branch in linaro git: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.