On 05/28/2013 08:10 AM, Thomas Martitz wrote: > Am 28. Mai 2013 04:54:52 schrieb Arun Raghavan > <arun.raghavan at collabora.co.uk>: > >> > - For setting up the mixer, I'll try to talk to the Android HAL >> layer. >> > Mixer controls vary a lot between hardware, so making a bridge to > >> Android here would likely save us work in the long run. (This is the > >> most >> uncertain part.) >> >> IMO, this is good for short-term porting effort, but not that great in >> the longer term. The Android HAL is an abstraction on top of another >> abstraction (UCM/XML config). To my mind, it makes more sense to use UCM >> here. Or if the UCM folks prefer the newer XML format, we could look at >> that as well. > > I think the android Hal isn't stable at all so possibly you end up with > code for each major android version or even each vendor / custom ROM > (phone specific). > > Another question, is the Hal API defined somewhere or does it require > reverse engineering? I think Android is quite fluid in the sense that things can indeed vary between devices or versions of Android. OTOH, vendors are unlikely to change this without a good reason as this would mean additional coding efforts. Hence we would rely on de-facto standard, which is this [1]. As you can see, source is available, so there is no need to reverse engineer it. This is what I think; but I don't have the wide hardware experience that would be good to have at this point. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic [1] https://github.com/CyanogenMod/android_hardware_libhardware/tree/jellybean/include/hardware