gstreamer/sys/v4l
Ronald S. Bultje 20538dadc9 This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe...
Original commit message from CVS:
This patch fixes some issues caused by design issues in video4linux, adds
some nicety to video4linux2 plugins and does some more evil stuff:
* video4linux doesn't tell us which formats are supported by a card, so
the only way to know this is by simply trying it out. This patch adds that.
* v4lmjpegsink didnt have a bufferpool yet - is integrated now.
* all copy() bufferpool functions have been removed since they're not needed.
* v4lmjpegsink doesnt have a free() function, because hen playing the frames,
all this is already handled. When the frame is not played, nothing has to
be done. In total, the function is not needed.
* adds a get_caps() function to v4l2src
* some minor crap
2002-09-20 09:28:46 +00:00
..
gstv4lelement.c plugins part of license field patch 2002-09-18 19:02:52 +00:00
gstv4lelement.h Added basic overlay support to v4l 2002-02-23 14:05:33 +00:00
gstv4lmjpegsink.c This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
gstv4lmjpegsink.h This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
gstv4lmjpegsrc.c This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
gstv4lmjpegsrc.h This patch: 1) would provide v4l2 plugins, if only the CVS server wouldn't bork on all commits :-(. This patch will c... 2002-09-09 07:12:29 +00:00
gstv4lsrc.c This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
gstv4lsrc.h This patch: 1) would provide v4l2 plugins, if only the CVS server wouldn't bork on all commits :-(. This patch will c... 2002-09-09 07:12:29 +00:00
Makefile.am removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with... 2002-03-19 04:10:06 +00:00
README Minor updates 2001-12-24 21:43:31 +00:00
TODO This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
v4l-overlay_calls.c This fixes the video4linux/video4linux2 debug output, which had one \n too much 2002-09-17 17:45:19 +00:00
v4l_calls.c This fixes the video4linux/video4linux2 debug output, which had one \n too much 2002-09-17 17:45:19 +00:00
v4l_calls.h This patch: 1) would provide v4l2 plugins, if only the CVS server wouldn't bork on all commits :-(. This patch will c... 2002-09-09 07:12:29 +00:00
v4lmjpegsink_calls.c This fixes the video4linux/video4linux2 debug output, which had one \n too much 2002-09-17 17:45:19 +00:00
v4lmjpegsink_calls.h Various fixes 2002-01-31 22:22:42 +00:00
v4lmjpegsrc_calls.c This fixes the video4linux/video4linux2 debug output, which had one \n too much 2002-09-17 17:45:19 +00:00
v4lmjpegsrc_calls.h Various fixes 2002-01-31 22:22:42 +00:00
v4lsrc_calls.c This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
v4lsrc_calls.h This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and doe... 2002-09-20 09:28:46 +00:00
videodev_mjpeg.h New video4linux plugins, can also handle hardware JPEG devices. First check-in, probably has lots of bugs which will ... 2001-12-23 15:31:15 +00:00

General Idea:
=============

                            _____/ gstv4lsrc.[ch]
                      _____/     \ v4lsrc_calls.[ch]
                     /
gstv4lelement.[ch] _/____________/ gstv4lmjpegsrc.[ch]
v4l_calls.[ch]      \            \ v4lmjpegsrc_calls.[ch]
                     \_____
                           \_____/ gstv4lmjpegsink.[ch]
                                 \ v4lmjpegsink_calls.[ch]

I.e., all the files on the right are child classes of
the v4lelement 'parent' on the left.

* v4lelement handles generic v4l stuff (picture settings,
    audio, norm/input setting, open()/close())
* v4lsrc, v4lmjpegsrc handle the capture specific
    functions. Maybe we'd need a v4lmpegsrc too
* v4lmjpegsink handles mjpeg hardware playback of video

Useful Documentation:
=====================
MJPEG/V4L API : ./videodev_mjpeg.h             
V4L API       : /usr/include/linux/videodev.h or
                http://roadrunner.swansea.uk.linux.org/v4l.shtml
V4L2 API      : http://www.thedirks.org/v4l2/
BSD/Meteor API: /usr/include/machine/ioctl_meteor.h
mjpegtools    : http://www.sourceforge.net/projects/mjpeg