From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 30 Dec 2010 03:27:25 +0000 (+0000)
Subject: Add diagram of mixer internals
X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=52b286d5570447d1e4d9b4e70e8639d2e0db3fc3;p=lca-dvswitch.git

Add diagram of mixer internals
---

diff --git a/Makefile b/Makefile
index b6b835b..09e0f40 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
-all: s5-checksums.txt dvswitch-simple.svg screenshot-1-annotated.png
+all: s5-checksums.txt dvswitch-simple.svg screenshot-1-annotated.png dvswitch-internal.svg
 
 clean:
-	rm -r s5-checksums.txt s5-blank dvswitch-simple.svg screenshot-1-annotated.png
+	rm -r s5-checksums.txt s5-blank dvswitch-simple.svg screenshot-1-annotated.png dvswitch-internal.svg
 
 s5-checksums.txt: /usr/share/s5/s5-blank
 	s5 blank .
diff --git a/dvswitch-internal.dia b/dvswitch-internal.dia
new file mode 100644
index 0000000..27728a4
Binary files /dev/null and b/dvswitch-internal.dia differ
diff --git a/index.html b/index.html
index 3d506df..dec5f13 100644
--- a/index.html
+++ b/index.html
@@ -262,5 +262,27 @@
   <object data="screenshot-1-annotated.png" width="50%"></object>
 </div>
 
+<div class="slide">
+  <h1>Mixer internals</h1>
+  <object data="dvswitch-internal.svg" width="90%" height="90%"></object>
+  <div class="handout">
+    <p>
+      To simplify the diagram, I omitted connection setup, tally light
+      and recording control, and the internal sinks that haven't been
+      implemented yet.
+    </p>
+    <p>
+      All these interfaces have limited-length queues.  If a queue
+      fills up, frames have to be dropped - we must not block or use
+      unlimited memory!
+    </p>
+    <p>
+      The mixer clock thread maintains a frame clock at about 25 or
+      30&nbsp;Hz depending on the video system, constantly adjusted to
+      follow the audio source.
+    </p>
+  </div>
+</div>
+
 </body>
 </html>