On Mon, 2012-09-10 at 23:49 -0700, Patrick Lai wrote:
Hi,
I have two use cases which can acquire same CODEC path but they cannot run concurrently through mixing. When such scenario does arise, arbitration is required based on priority of use cases. On the other hand, same use cases on different platform may use different CODEC paths so arbitration is not required. In order to decide whether arbitration is required, I think the best place to do so is in UCM. I looked at existing UCM APIs but I do not believe existing APIs have concept of arbitration built in. If I am wrong, how can I handle arbitration with existing UCM APIs. If I am correct, is there anyone looking to expand UCM APIs for similar scenario?
In my opinion routing priorities don't belong in the UCM configuration. UI designers will want to dictate the routing policy (i.e. what device to prefer in which use case). The same hardware may end up being used in different products, and the UI designers for those different products may not all want the same policy. Therefore, I don't want UCM configurations to include any routing policy. The policy configuration belongs to some component that sits above alsa and UCM.