gstreamer/sys/v4l
Ronald S. Bultje 580121964c Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are q...
Original commit message from CVS:
Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are queued if we sync on them
2001-12-23 19:14:18 +00:00
..
gstv4lelement.c 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
gstv4lelement.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
gstv4lmjpegsrc.c 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
gstv4lmjpegsrc.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
gstv4lsrc.c Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are q... 2001-12-23 19:14:18 +00:00
gstv4lsrc.h Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are q... 2001-12-23 19:14:18 +00:00
Makefile.am 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
README Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are q... 2001-12-23 19:14:18 +00:00
TODO Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are q... 2001-12-23 19:14:18 +00:00
v4l_calls.c 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
v4l_calls.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
v4lmjpegsrc_calls.c 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
v4lmjpegsrc_calls.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
v4lsrc_calls.c Added pthread software sync for improved timestamps and pthread queue and sync control to make sure that frames are q... 2001-12-23 19:14:18 +00:00
v4lsrc_calls.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
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. mjpegsink is still
todo.

* 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