From 0273ce03b2e44cbb53e8c2f321aba72a2a513edb Mon Sep 17 00:00:00 2001 From: Jonathan Aillet Date: Thu, 18 Jul 2019 15:24:01 +0200 Subject: Add information about attach verb json format Add information about attach verb json format. BUG-AGL: SPEC-2653 Change-Id: I6e1e47f8572d135226cccb39ee8c14e5425f470f Signed-off-by: Jonathan Aillet --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/README.md b/README.md index 34eb934..90e342d 100644 --- a/README.md +++ b/README.md @@ -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 -- cgit 1.2.3-korg