aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames O'Shannessy <james.oshannessy@fiberdyne.com.au>2018-10-08 15:20:38 +1100
committerMark Farrugia <mark.farrugia@fiberdyne.com.au>2018-10-26 17:27:45 +1100
commitc6c2c324c13fec5a3e1d52059454e4d8b17b1e28 (patch)
tree4d91b2bf1fd0b0d1f4e209719044732ddda4cc80
parent94eb09750343f0adc8f4bf56eb4ee05ce9def8f1 (diff)
Update README.md
Fix table of contents Markdown links Fixing whitespace problems in Markdown docs Fix alignment of table of contents Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
-rw-r--r--README.md9
-rw-r--r--docs/1.Introduction.md18
2 files changed, 14 insertions, 13 deletions
diff --git a/README.md b/README.md
index dc72ff1..9c70cfb 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,12 @@
## Alsa Virtual Sound Driver
1. [Introduction](docs/1.Introduction.md)
-[2. Building](docs/2.Building.md)
-[3. Usage](docs/3.Usage.md)
-[4. 4A Integration](docs/4.4A-Integration.md)
+2. [Building](docs/2.Building.md)
+3. [Usage](docs/3.Usage.md)
+4. [4A Integration](docs/4.4A-Integration.md)
+
## TODO
- Currently, playback only - implementing capture is WIP.
-- Create a loopback Audio Path for use with AVIRT, to demonstrate standard AGL soft-mixing capabilities.
+
diff --git a/docs/1.Introduction.md b/docs/1.Introduction.md
index 25b3ea8..7bf3ebe 100644
--- a/docs/1.Introduction.md
+++ b/docs/1.Introduction.md
@@ -3,12 +3,12 @@ Introduction
## Problem
The existing solution contains the following drawbacks:
- 1. Non-generic interface for configurable hardware cases
- - Unable to configure streams mapped to outputs
- 2. Not fully optimized for certain use cases (ie. Routing Audio to DSP vs. aloop)
- - Routing audio to hardware to reduce overhead
- 3. Inability to secure on all audio streams
- - Substreams cannot have SMACK labels applied, inherently leaving different audio streams insecure, or a single label applied to all.
+1. Non-generic interface for configurable hardware cases
+ - Unable to configure streams mapped to outputs
+2. Not fully optimized for certain use cases (ie. Routing Audio to DSP vs. aloop)
+ - Routing audio to hardware to reduce overhead
+3. Inability to secure on all audio streams
+ - Substreams cannot have SMACK labels applied, inherently leaving different audio streams insecure, or a single label applied to all.
## AVIRTs Solution
The ALSA Virtual Sound Driver (AVIRT) aims to provide a Linux kernel solution to the issue of audio routing in kernel-space, as well as security per-stream, and dynamic configuration of streams at the kernel level.
@@ -18,9 +18,9 @@ A top-level abstract dynamic audio driver is presented to the user-space via an
The top-level driver is configured (currently) using by utilising configfs.
AVIRT attempts to address the aforementioned problems by:
- 1. Providing a standard interface through configfs to configure a variable number of 'streams' which can be mapped to audio paths.
- 2. Optimize the audio routing by connecting directly with the desired audio path. This can include routing audio through directly to hardware, or to an implemented loopback interface.
- 3. Each 'stream' is separated to its own device, therefore security can be applied to each 'stream'. This means that each of the audio roles can be separately secured from each other.
+1. Providing a standard interface through configfs to configure a variable number of 'streams' which can be mapped to audio paths.
+2. Optimize the audio routing by connecting directly with the desired audio path. This can include routing audio through directly to hardware, or to an implemented loopback interface.
+3. Each 'stream' is separated to its own device, therefore security can be applied to each 'stream'. This means that each of the audio roles can be separately secured from each other.
A sample dummy Audio Path is provided as an example to show how a low-level audio driver would subscribe to AVIRT, and accept audio routing for playback.