--- /dev/null
+TODO list (short term):
+=======================
+* v4lsrc/v4lmjpegsrc/v4l2src: fix interlacing (not handled at all...)
+
+TODO list (long term):
+======================
+* v4lmpegsrc (*hint* MPEG card needed *hint*)
+* v4l2sink
+* BSD-videosrc (bktr)
+
+Useful Documentation:
+=====================
+MJPEG/V4L API : ./videodev_mjpeg.h
+
+V4L API : /usr/include/linux/videodev.h or
+ /usr/src/linux/Documentation/video4linux/API.html or
+ http://linux.bytesex.org/v4l2/API.html
+
+V4L2 API : /usr/include/linux/videodev2.h or
+ http://v4l2spec.bytesex.org/
+
+BSD/Meteor API: /usr/include/machine/ioctl_meteor.h
+
+mjpegtools : http://www.sourceforge.net/projects/mjpeg
+
+Capturing:
+==========
+* sound is the master clock
+* it's probably a good idea to create an audiosource element:
+ - autodetect alsa/oss
+ - first try alsa, then oss... they work the same internally
+* same for videosource:
+ - autodetect v4l/v4l2 + mjpeg capabilities
+ - for this, just open device using v4l2element. On success:
+ + use v4l2
+ - on failure:
+ + use v4lelement and query for MJPEG capabilities
+ + if that's available, combine caps of v4lmjpegsrc and v4lsrc
+* both sources run in their own GstThread with a high priority
+* an encoder element takes care of encoding + muxing. A toplevel element
+ (reverse of spider) is probably a good idea here. How? Don't know...
+* format negotiation via filtered caps
+* statistics via listening to the frame_{lost,inserted,deleted,captures}
+ signals and GST_PAD_QUERY_POSITION (gst_pad_query())