summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authordeva <deva>2005-11-25 21:52:29 +0000
committerdeva <deva>2005-11-25 21:52:29 +0000
commit3ed6455c3166079d9b8fc1653b307b3c8349055d (patch)
tree09f03ac122b8a48ac02b2250c561618669728137 /TODO
parent42edda012a460e1bb69173f9c5a3c2bd55176149 (diff)
*** empty log message ***
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