gstreamer/sys/v4l
Stefan Kost 43bc15fa94 renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
Original commit message from CVS:
* examples/indexing/indexmpeg.c: (main):
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get),
(cdparanoia_open), (cdparanoia_close), (cdparanoia_event),
(cdparanoia_convert), (cdparanoia_query):
* ext/cdparanoia/gstcdparanoia.h:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_init),
(gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file),
(gst_gnomevfssink_chain), (gst_gnomevfssink_change_state):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init):
* gst/audioscale/gstaudioscale.c: (gst_audioscale_init):
* gst/playback/gststreamselector.c: (gst_stream_selector_init):
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_init),
(gst_multifdsink_render), (gst_multifdsink_start),
(gst_multifdsink_stop):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init),
(gst_tcpclientsink_render), (gst_tcpclientsink_start),
(gst_tcpclientsink_stop):
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init),
(gst_tcpclientsrc_getcaps), (gst_tcpclientsrc_create),
(gst_tcpclientsrc_start), (gst_tcpclientsrc_stop):
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init),
(gst_tcpserversrc_create), (gst_tcpserversrc_start),
(gst_tcpserversrc_stop):
* gst/tcp/gsttcpserversrc.h:
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_init):
renamed GST_FLAGS macros to GST_OBJECT_FLAGS
moved bitshift from macro to enum definition
2005-10-12 14:32:29 +00:00
..
.gitignore add cvsignores 2003-09-11 19:17:01 +00:00
gstv4l.c sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
gstv4lcolorbalance.c compile fixes for --disable-gst-debug, G_DISABLE_ASSERT and friends 2004-08-03 16:06:08 +00:00
gstv4lcolorbalance.h sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
gstv4lelement.c Updates for two-arg init from GST_BOILERPLATE_FULL. 2005-08-28 17:52:45 +00:00
gstv4lelement.h sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
gstv4ljpegsrc.c sys/v4l/: Add new v4ljpegsrc for handling the ov51x hacky "I'll give you jpeg inside rgb frames" driver. 2005-02-03 18:23:17 +00:00
gstv4ljpegsrc.h sys/v4l/: Add new v4ljpegsrc for handling the ov51x hacky "I'll give you jpeg inside rgb frames" driver. 2005-02-03 18:23:17 +00:00
gstv4lmjpegsink.c renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition 2005-10-12 14:32:29 +00:00
gstv4lmjpegsink.h paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
gstv4lmjpegsrc.c renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition 2005-10-12 14:32:29 +00:00
gstv4lmjpegsrc.h ext/ogg/gstoggmux.c: Basic pad template which accepts OGM tracks, speex, flac, vorbis and theora. Any is incorrect. 2004-10-24 13:41:18 +00:00
gstv4lsrc.c sys/v4l/gstv4lsrc.c: The 'timestamp-offset' property is registered as an int64, so let's use g_value_{set|get}_int64(... 2005-08-31 08:58:03 +00:00
gstv4lsrc.h sys/v4l/gstv4lsrc.c (gst_v4lsrc_get_property) (gst_v4lsrc_set_property, gst_v4lsrc_class_init, gst_v4lsrc_init) 2005-07-12 17:14:33 +00:00
gstv4ltuner.c sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
gstv4ltuner.h sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
gstv4lxoverlay.c whoops 2005-08-24 11:13:54 +00:00
gstv4lxoverlay.h sys/v4l/gstv4lelement.c (gst_v4lelement_start) 2005-08-24 11:07:51 +00:00
Makefile.am make GST_PLUGIN_LDFLAGS only be flags; GST_LIBS should be added manually to each Makefile.am so we are sure it goes 2005-07-13 17:58:07 +00:00
README - update links to v4l[12] API docs 2004-05-31 20:36:07 +00:00
TODO Remove all references to xvideosink, fix examples (#140845). 2005-01-09 14:53:59 +00:00
v4l_calls.c sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
v4l_calls.h sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
v4lmjpegsink_calls.c paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
v4lmjpegsink_calls.h paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
v4lmjpegsrc_calls.c ext/ogg/gstoggmux.c: Basic pad template which accepts OGM tracks, speex, flac, vorbis and theora. Any is incorrect. 2004-10-24 13:41:18 +00:00
v4lmjpegsrc_calls.h paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
v4lsrc_calls.c sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
v4lsrc_calls.h sys/v4l/v4lsrc_calls.*: Remove sync-related stuff. 2005-07-07 11:29:29 +00:00
videodev_mjpeg.h LICENSE_readme: typo 2004-05-01 15:40:08 +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
                /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