gstreamer/sys/v4l
Wim Taymans f1f26384e9 sys/v4l/: Fix duration and timestamping, taking latency into account.
Original commit message from CVS:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init),
(gst_v4lsrc_fixate), (gst_v4lsrc_query):
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_new):
Fix duration and timestamping, taking latency into account.
Implement latency query.
2007-02-28 15:05:03 +00:00
..
.gitignore add cvsignores 2003-09-11 19:17:01 +00:00
gstv4l.c restructure configure.ac, use correct libtool LDFLAGS, fix up defines 2005-10-16 13:54:44 +00:00
gstv4lcolorbalance.c Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 21:02:53 +00:00
gstv4lcolorbalance.h expand tabs 2005-12-06 19:42:02 +00:00
gstv4lelement.c sys/v4l/gstv4lelement.c: If "device-name" is requested and the device is not open, try to temporarily open it to obta... 2006-07-19 14:46:36 +00:00
gstv4lelement.h Fix broken GObject macros 2006-04-08 18:09:17 +00:00
gstv4ljpegsrc.c Use GST_DEBUG_CATEGORY_STATIC where possible (#342503). 2006-06-23 09:53:09 +00:00
gstv4ljpegsrc.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4lmjpegsink.c Use GST_DEBUG_CATEGORY_STATIC where possible (#342503). 2006-06-23 09:53:09 +00:00
gstv4lmjpegsink.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4lmjpegsrc.c make GstElementDetails const 2006-04-28 19:46:37 +00:00
gstv4lmjpegsrc.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4lsrc.c sys/v4l/: Fix duration and timestamping, taking latency into account. 2007-02-28 15:05:03 +00:00
gstv4lsrc.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4ltuner.c Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 21:02:53 +00:00
gstv4ltuner.h expand tabs 2005-12-06 19:42:02 +00:00
gstv4lxoverlay.c whoops 2005-08-24 11:13:54 +00:00
gstv4lxoverlay.h expand tabs 2005-12-06 19:42:02 +00:00
Makefile.am ext/ogg/Makefile.am: Dist gstoggdemux.h to fix 'make distcheck'. 2007-01-09 13:35:08 +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/v4l_calls.c: check for and throw RESOURCE_BUSY 2006-01-28 16:35:47 +00:00
v4l_calls.h expand tabs 2005-12-06 19:42:02 +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/: Fix duration and timestamping, taking latency into account. 2007-02-28 15:05:03 +00:00
v4lsrc_calls.h Just make it compile with --disable-gst-debug. 2006-02-03 17:45:44 +00:00
videodev_mjpeg.h expand tabs 2005-12-06 19:42:02 +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