gstreamer/sys/v4l
2010-12-02 19:04:28 +01:00
..
.gitignore
gstv4l.c
gstv4lcolorbalance.c
gstv4lcolorbalance.h
gstv4lelement.c
gstv4lelement.h
gstv4ljpegsrc.c
gstv4ljpegsrc.h
gstv4lmjpegsink.c
gstv4lmjpegsink.h
gstv4lmjpegsrc.c
gstv4lmjpegsrc.h
gstv4lsrc.c
gstv4lsrc.h
gstv4ltuner.c
gstv4ltuner.h
gstv4lxoverlay.c
gstv4lxoverlay.h
Makefile.am
README
TODO
v4l_calls.c v4l: If no video tuner is the requested one don't read unitialized data 2010-12-02 19:04:28 +01:00
v4l_calls.h
v4lmjpegsink_calls.c
v4lmjpegsink_calls.h
v4lmjpegsrc_calls.c
v4lmjpegsrc_calls.h
v4lsrc_calls.c
v4lsrc_calls.h
videodev_mjpeg.h

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
                /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