diff options
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -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 |