diff options
author | 2018-11-29 15:29:54 +0100 | |
---|---|---|
committer | 2018-11-29 15:29:54 +0100 | |
commit | 2610bf62ef76f4120a5f76dd0e5eb1e51538b41b (patch) | |
tree | 5a54c544bdfbab30601ef4c9cf4ebf554bc232e6 /docs/4a-framework/concepts.md | |
parent | 04f89b1c4f49372aea2f9d1c7e0adad5fb8bd99b (diff) |
Backport of audio documentation from masterflounder_6.0.3flounder/6.0.36.0.3
Documentation was available only on master. New documentation website is
now by branch, so documentation should be available on both branches.
Bug: SPEC-1993
Change-Id: I55484d5c1f28ae1e7fa927533b3dd862a03ed207
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
Diffstat (limited to 'docs/4a-framework/concepts.md')
-rw-r--r-- | docs/4a-framework/concepts.md | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/docs/4a-framework/concepts.md b/docs/4a-framework/concepts.md new file mode 100644 index 0000000..dba024d --- /dev/null +++ b/docs/4a-framework/concepts.md @@ -0,0 +1,37 @@ +# Concepts + +A user application requests to open an audio role, which is bound to a stream, +which is bound to a zone. This allows the application to only care about the +audio role. + +For example, a navigation application can request the **navigation** role, which +is bound to the **navigation** stream defined by the HAL. This stream is bound +to the **driver** zone, which is the closest speaker to the driver. + +## Roles + +The high level API allows applications to open roles such as **emergency**, +**navigation** or **multimedia**. A role is bound to a stream, which is +basically a device URI. When a role is opened, then the policy engine is +notified and executes an interrupt on every other opened role with a lower +priority. An interrupt is a policy engine function that can change the volume, +mute or unmute, change the stream's state. + +This behaviour allows the policy engine to take actions like lowering the radio +volume when an application wants to play something on the emergency role. + +## Streams + +A stream is basically a device URI that you can open to write audio data. For +example, it can be "hw:2,0,1", which means that you have to use this as an alsa +device URI. + +## Zones + +Multiple speakers are spread around inside a vehicule, they are named depending +on their position, like **front-center**, **front-left**, **front-right**, +**rear-left**, **rear-right**, etc... + +Zones are an abstraction of positional audio. A zone is made of one or more +speakers and describes logical audio areas like **driver**, **front**, **rear**, +etc. |