==========================================================================
 TASKS (client)
==========================================================================

MessageBox:
 [x]	- Make it.
 [/]	- Make icons.
 [ ]	- Test it.

SplashScreen:
 [ ]	- Make it.

Mainwindow:
 [x]	- Clean out mgui code.
 [x]	- Make generic gui layout code.
 [x]	- Make icons.
 [x]	- Make statusbar.
 [x]	- Make flashing record bar.
 [ ]	- Show network connection status in statusbar.
 [ ]	- Show camera connection status in statusbar.
 [x]	- Save movie messagebox (yes/no/dunno)
 [ ]	- Test it.

CPRQueryDialog:
 [x]	- Make it!
 [x]	- Clean out unnesessary code.
 [ ]	- Make cancel posibility (return code 0 should do something useful)
 [x]	- Insert timer for network connection timeout.
 [x]	- Send connection status info to mainwindow.
 [ ]	- Make icons?
 [ ]	- Test it.

Encoder:
 [ ]	- Send savestate signal.
 [ ]	- Make all data sent before deleting network object. (flush)

Decoder:
 [ ]	- Enable sound decoding for the network stream.

Camera:
 [x]	- Add initialize method (constructor should do nothing).
 [%]	- Add getStatus methods. (implemented through error object)

==========================================================================
 TASKS (server)
==========================================================================

ImgEncoder:
 [x]	- Make libjpeg calls work again.

MovEncoder:
 [ ]	- Enable sound.

Main:
 [ ]	- Save movie signal handling.

==========================================================================
 TASKS (common)
==========================================================================

Makesystem:
 [x]	- "Port" to automake/autoconf
 [x]	- Make LibSDL detection in configure script
 [x]	- Make LibJpeg detection in configure script
 [ ]	- Make ffmpeg detection in configure script
 [x]	- Make server standalone compilable (through flag to configure)
 [x]	- Include pixmaps and tools in distdir.
 [x]	- Make pixmaps correctly intalled.
 [x]	- Make QT link correctly on fedora core 1
 [ ]	- Make libJpeg link correctly on fedora core 1

MiavConfig:
 [x]	- Integrate file parser.
 [x]	- USe error object.
 [ ]	- Make code for input validity test.

ErrorObject:
 [x]	- Make it.
 [x]	- Maintain error string stack, instead of appending.
 [x]	- Make it thread safe.

FFMpegWrapper:
 [ ]	- Make it.


==========================================================================
 FFMPEGWRAPPER INTERFACE
==========================================================================

Constructor:
	- Params: Stream

Destructor:
	- Cleanup

getNextFrame:
	- returns: AVframe pointer

==========================================================================
 SAVE THE MOVIE?
==========================================================================
When the stop button is clicked, a msg box pops up, "Save? [yes, no, dunno]"
network connection is no killed before this has been answered, and an empty 
frame has been send to the server with the answer.

On the serverside, a variable describing wether the file is to be saved (SAVE), 
deleted (DELETE), og scheduled for later descision (LATER).

It is initialized with LATER, in order to prevent errors due to a malfunction
leading to a disconnection.

If a flag is recieved, the state is overwritten.

If the state is SAVE, when the connection is terminated, the file is moved to
a folder containing permanent data store.

If the state is DELETE, the file is moved to a folder containing files scheduled
for deletion, when more space is needed (no files are removed at this point)

If the state is LATER, the file is moved to a folder containing files with this
purpose.

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.

==========================================================================
 Semphores and mutexes in the client network architechture
==========================================================================
,-----------.
| DV stream |
`-----------'
      |
      V
,-----------.
| Decoder   |
`-----------'
      |      \
      V       \
,-----------.  \
| Player    |   \
`-----------'    \
                  \  ,-----------.
                   ->| Encoder   |
                     `-----------'