summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO54
1 files changed, 54 insertions, 0 deletions
diff --git a/TODO b/TODO
index 88a4099..99ffbb9 100644
--- a/TODO
+++ b/TODO
@@ -228,3 +228,57 @@ A cron job examines this folder regularly (test how often).
If a file has been here for more than a week, the administrator is contacted by
email.
+=====================
+ Multiple recordings
+=====================
+Definitions:
+Camera
+ Decoder - "input" (global)
+ Transmitter - "network connection" (one pr. session)
+ Buffer
+ Player - "output" (global)
+
+Implementations:
+Camera {
+ set active transmitter to NULL
+ start decoder
+ start player
+}
+
+Camera::start(cpr) {
+ start transmitter
+ set active transmitter to the new transmitter
+}
+
+Camera::stop {
+ tell transmitter that the last frame has been read
+ set active transmitter to NULL
+}
+
+
+Decoder {
+ while(!done) {
+ read frame
+ push it to the player
+ push it to the active transmitter
+ }
+}
+
+Transmitter(cpr) {
+ connect
+ while(!last frame read && !queue empty) {
+ send frame over the network
+ }
+ disconnect
+}
+
+Player {
+ while(!done) {
+ show frame
+ }
+}
+
+Frame {
+ properties:
+ flags; (FREEZE, SNAPSHOT, SAVESTATE)
+} \ No newline at end of file