doc: Bluetooth: Audio: Remake gaf.svg to graphviz

Remake the Generic audio framework (GAF) figure to a graphviz version.
This makes it easier to modify it directly in the .rst file.

This also adds the missing GMAP/GMAS.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
Emil Gydesen 2024-06-26 19:18:59 +02:00 committed by Alberto Escolar
commit 05b11e58eb
2 changed files with 144 additions and 8 deletions

View file

@ -48,11 +48,151 @@ audio streams or broadcast (unconnected) audio streams.
GAF mandates the use of the LC3 codec, but also supports other codecs.
.. figure:: img/gaf.svg
:align: center
:alt: Generic Audio Framework
.. graphviz::
:caption: Generic Audio Framework (GAF)
Generic Audio Framework
digraph gaf {
node [shape=record];
edge [style=invis];
compound=true;
nodesep=0.1;
subgraph hap_layer {
cluster=true;
label="HAP";
HAS;
BAS [style=dashed];
IAS [style=dashed];
}
subgraph pbp_layer {
cluster=true;
label="PBP";
PBS[style=invis]; // Make it possible to treat PBP like the others
}
subgraph tmap_layer {
cluster=true;
label="TMAP";
TMAS;
}
subgraph gmap_layer {
cluster=true;
label="GMAP";
GMAS;
}
subgraph gaf_layer {
cluster=true;
label="Generic Audio Framework";
subgraph transition_and_coordination_control_layer {
cluster=true;
label="Transition and Coordination Control";
style=dashed;
subgraph cap_layer {
cluster=true;
style=solid;
label="CAP";
CAS;
}
subgraph csip_layer {
cluster=true;
style=solid;
label="CSIP";
CSIS;
}
}
subgraph stream_control_layer {
cluster=true;
label="Stream Control";
style=dashed;
subgraph bap_layer {
cluster=true;
label="BAP";
style=solid;
PACS [style=dashed];
ASCS [style=dashed];
BASS [style=dashed];
}
}
subgraph content_control_layer {
cluster=true;
label="Content Control";
style=dashed;
subgraph mcp_layer {
cluster=true;
label="MCP";
style=solid;
MCS;
}
subgraph ccp_layer {
cluster=true;
label="CCP";
style=solid;
TBS;
}
}
subgraph rendering_and_capture_control_layer {
cluster=true;
label="Rendering and Capture Control";
style=dashed;
subgraph micp_layer {
cluster=true;
label="MICP";
style=solid;
MICS;
MICP_AICS [style=dashed];
}
subgraph vcp_layer {
cluster=true;
label="VCP";
style=solid;
VCS;
VOCS [style=dashed];
VCP_AICS [style=dashed];
}
}
}
HAS -> CAS;
PBS -> CAS;
TMAS -> CAS;
GMAS -> CAS;
CAS -> MCS;
CAS -> TBS;
CAS -> ASCS;
CAS -> PACS;
CAS -> BASS;
CAS -> MICS;
CAS -> MICP_AICS;
CAS -> VCS;
CAS -> VOCS;
CAS -> VCP_AICS;
CSIS -> MCS;
CSIS -> TBS;
CSIS -> ASCS;
CSIS -> PACS;
CSIS -> BASS;
CSIS -> MICS;
CSIS -> MICP_AICS;
CSIS -> VCS;
CSIS -> VOCS;
CSIS -> VCP_AICS;
}
The top-level profiles TMAP and HAP are not part of the GAF, but rather provide
top-level requirements for how to use the GAF.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 33 KiB