gstreamer/sys/v4l
Ronald S. Bultje a6b79b4f09 sys/v4l/: Implement resizing... Hack. But that's why v4l is b0rked...
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init),
(gst_v4lsrc_open), (gst_v4lsrc_close),
(gst_v4lsrc_palette_to_caps), (gst_v4lsrc_srcconnect),
(gst_v4lsrc_getcaps), (gst_v4lsrc_set_clock):
* sys/v4l/gstv4lsrc.h:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_start),
(gst_v4lsrc_grab_frame), (gst_v4lsrc_capture_stop):
Implement resizing... Hack. But that's why v4l is b0rked...
2004-01-28 21:16:01 +00:00
..
.gitignore add cvsignores 2003-09-11 19:17:01 +00:00
gstv4l.c putting i18n in place for plugins 2004-01-19 15:45:55 +00:00
gstv4lcolorbalance.c ext/alsa/gstalsamixer.c: Setting mixer interface type to HARDWARE. 2004-01-15 15:50:10 +00:00
gstv4lcolorbalance.h Some interface implementations for video4linux/video4linux2 plugins: a Tuner interface, with which one can select inp... 2003-10-10 12:47:41 +00:00
gstv4lelement.c Move over from GstInterface to GstImplementsInterface. Also adds some signals to several interfaces 2003-12-07 12:11:30 +00:00
gstv4lelement.h Add device autodetection 2003-11-07 12:45:20 +00:00
gstv4lmjpegsink.c use new error signal and classification 2004-01-18 21:46:58 +00:00
gstv4lmjpegsink.h Merge CAPS branch 2003-12-22 01:47:09 +00:00
gstv4lmjpegsrc.c use new error signal and classification 2004-01-18 21:46:58 +00:00
gstv4lmjpegsrc.h Merge CAPS branch 2003-12-22 01:47:09 +00:00
gstv4lsrc.c sys/v4l/: Implement resizing... Hack. But that's why v4l is b0rked... 2004-01-28 21:16:01 +00:00
gstv4lsrc.h sys/v4l/: Implement resizing... Hack. But that's why v4l is b0rked... 2004-01-28 21:16:01 +00:00
gstv4ltuner.c gst-libs/gst/tuner/tuner.*: GObjects aren't const. 2004-01-12 02:11:03 +00:00
gstv4ltuner.h Some interface implementations for video4linux/video4linux2 plugins: a Tuner interface, with which one can select inp... 2003-10-10 12:47:41 +00:00
gstv4lxoverlay.c Some interface implementations for video4linux/video4linux2 plugins: a Tuner interface, with which one can select inp... 2003-10-10 12:47:41 +00:00
gstv4lxoverlay.h Some interface implementations for video4linux/video4linux2 plugins: a Tuner interface, with which one can select inp... 2003-10-10 12:47:41 +00:00
Makefile.am ext/divx/: Set category to divx4linux instead of divx (too generic). 2004-01-14 10:48:18 +00:00
README Minor updates 2001-12-24 21:43:31 +00:00
TODO configure.ac: Improve mpeg2enc detection. This is for distributions that do ship mjpegtools, but without mpeg2enc. Al... 2003-12-21 18:44:34 +00:00
v4l-overlay_calls.c fix element_error 2004-01-19 18:22:57 +00:00
v4l_calls.c putting i18n in place for plugins 2004-01-19 15:45:55 +00:00
v4l_calls.h further element_error fixes 2004-01-19 17:11:27 +00:00
v4lmjpegsink_calls.c use new error signal and classification 2004-01-18 21:46:58 +00:00
v4lmjpegsink_calls.h Various fixes 2002-01-31 22:22:42 +00:00
v4lmjpegsrc_calls.c use new error signal and classification 2004-01-18 21:46:58 +00:00
v4lmjpegsrc_calls.h Some interface implementations for video4linux/video4linux2 plugins: a Tuner interface, with which one can select inp... 2003-10-10 12:47:41 +00:00
v4lsrc_calls.c sys/v4l/: Implement resizing... Hack. But that's why v4l is b0rked... 2004-01-28 21:16:01 +00:00
v4lsrc_calls.h Un-globalize variable 2003-05-14 19:54:37 +00:00
videodev_mjpeg.h typos 2003-09-13 10:44:47 +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