diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2019-07-18 15:24:01 +0200 |
---|---|---|
committer | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2019-07-18 17:39:10 +0200 |
commit | 0273ce03b2e44cbb53e8c2f321aba72a2a513edb (patch) | |
tree | 9474e63b78ce688ce0e6088d6ae9b143abcacfce | |
parent | 1caeb47ccc3f4241cd97be12d31081a18db27f1b (diff) |
Add information about attach verb json formathalibut_8.0.6halibut_8.0.5halibut_8.0.4halibut_8.0.3halibut_8.0.2halibut_8.0.1halibut_8.0.0halibut/8.0.6halibut/8.0.5halibut/8.0.4halibut/8.0.3halibut/8.0.2halibut/8.0.1halibut/8.0.08.0.68.0.58.0.48.0.38.0.28.0.18.0.0halibut
Add information about attach verb json format.
BUG-AGL: SPEC-2653
Change-Id: I6e1e47f8572d135226cccb39ee8c14e5425f470f
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
-rw-r--r-- | README.md | 60 |
1 files changed, 60 insertions, 0 deletions
@@ -12,6 +12,66 @@ Softmixer controller for 4A (AGL Advance Audio Architecture). * Usage of streams to access audio zones * Direct read from HW capture devices (eg radio chips & microphones) +## Attach verb json format (TO UPDATE) + +* The `uid` field will be the name of the mixer corresponding to your hal. +* The `mixerapi` field should contain the name of the api to call for reaching the mixer + (not need to be changed if you use '4a-softmixer'). +* The `prefix` field is not mandatory, it is where you precise the prefix that will be applied +when the mixer attach call happens. All the streams the mixer creates will be prefixed with this field. +* In `ramps` section: +* Define the ramp that you can use in your mixer (ramps in example files can be used). +* The `uid` field is where you specify the name of the ramp. +* The ramp will set the current volume to the targeted volume step by step: + * The `delay` field is the delay between two volume modification. + * The `up` field is the volume increase in one step (when increasing volume is requested). + * The `down` field is the volume decrease in one step (when decreasing volume is requested). +* The `playbacks` section will contain your output audio information (such as the path to you alsa audio device +and the configuration of your device): +* A `uid` field that will be used by the mixer to identify the playback. +* The `params` field is an optional field where you can specify some parameters + for your playback (such as rate). +* The `sink` field is where you describe your playback: + * The `controls` field must contain the alsa control labels + that the mixer will use to set/mute volume on your audio device. + * The `channels` field must contain an object that will link an `uid` to + a physical output audio `port` that will be used in zone. +* The `captures` section will contain your input audio information (such as the path to you alsa audio device +and the configuration of your device): +* A `uid` field that will be used by the mixer to identify the capture. +* The `params` field is an optional field where you can specify some parameters + for your capture (such as rate). +* The `sink` field is where you describe your capture: + * The `controls` field must contain the alsa control labels + that the mixer will use to set/mute volume on your audio device. + * The `channels` field must contain an object that will link an `uid` to + a physical input audio `port` that will be used in zone. +* In `zones` section: (zones in example files can be used): +* You can define the zones that you want for your mixer. +* You must define which sink will be used in these zones. +* These zones will be used to define streams. +* The `sink` field must contain objects that will link a physical ouput audio port + (defined in `playbacks` section) using `target` field to a logical output audio `channel` + that will be used in zone. +* The `source` field must contain objects that will link a physical input audio port + (defined in `captures` section) using `target` field to a logical input audio `channel` + that will be used in zone. +* In `streams` section: (streams in example files can be used): +* You can define the streams that you want for your mixer. +* Mandatory fields: + * A `uid` field, it is the name used by the mixer to identify streams (e.g. when using `info` verb) + * The `verb` field is the name used by the mixer to declare the stream verb + (but prefixing it with `prefix` if defined). + It is also used by the hal to declare a verb to make it accessible from a hal point of view. + * The `zone` field must correspond to the wanted zone of the stream. +* Optional fields: + * The `source` is where you can precise which loop to use for this stream (not the default one). + The loop are defined in the mixer configuration file. + * The `params` is where you can specify some parameters for your stream (such as rate). + * `volume` and `mute` fields are initiate values of the stream. + +NOTE : This json format is used by 4a-hal-generic. + ## Compile ``` mkdir build |