gstreamer/sys/v4l2
Huacai Chen 05d4f81834 v4l2: make gst_v4l2_fill_lists() adapt to kernel 3.3+
When do v4l2_ioctl() with VIDIOC_ENUMINPUT fails on some devices,
kernels before 3.3.0 return EINVAL, but newer kernels return ENOTTY.
This patch make those devices work well on kernel 3.3+.

Related kernel commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=07d106d0a33d6063d2061305903deb02489eba20

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Rui Wang <wangr@lemote.com>
Signed-off-by: Jie Chen <chenj@lemote.com>
2012-08-21 23:09:33 +01:00
..
.gitignore v4l2src: Adding a pre-set-format signal 2012-04-19 09:45:49 +02:00
gstv4l2-marshal.list v4l2src: Adding a pre-set-format signal 2012-04-19 09:45:49 +02:00
gstv4l2.c gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
gstv4l2bufferpool.c v4l2: fix build with recent kernels, the v4l2_buffer input field was removed 2012-08-09 08:40:33 +01:00
gstv4l2bufferpool.h v4l2: Improve buffer management 2012-04-23 18:10:33 +02:00
gstv4l2colorbalance.c v4l2: port to 0.11 2011-07-08 12:49:12 +02:00
gstv4l2colorbalance.h v4l2: add missing G_END_DECLS 2012-05-31 13:13:45 +02:00
gstv4l2object.c Silence some 'variable may be used uninitialized' compiler warnings 2012-08-08 11:31:59 +01:00
gstv4l2object.h update for removed property probe 2011-12-21 11:59:46 +01:00
gstv4l2radio.c Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
gstv4l2radio.h docs: fix docuemntation warnings (and reindent) 2011-04-05 12:06:55 +03:00
gstv4l2sink.c update for query api changes 2012-07-06 11:50:50 +02:00
gstv4l2sink.h v4l2: activate the pool in fallback 2011-08-04 12:56:47 +01:00
gstv4l2src.c update for query api changes 2012-07-06 11:26:46 +02:00
gstv4l2src.h v4l2: More work on bufferpools 2011-07-18 18:54:49 +02:00
gstv4l2tuner.c v4l2: move capture code to device object 2011-07-13 18:32:00 +02:00
gstv4l2tuner.h Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
gstv4l2videooverlay.c Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
gstv4l2videooverlay.h Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
gstv4l2vidorient.c interfaces: clean up the use of iface and class/klass 2011-10-21 14:58:41 +02:00
gstv4l2vidorient.h v4l2: add missing G_END_DECLS 2012-05-31 13:13:45 +02:00
Makefile.am v4l2: ensure autogenerated files are created 2012-04-13 17:13:22 +02:00
README Fix level for multi-channel case. 2007-02-22 14:35:28 +00:00
tuner-marshal.list Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tuner.c Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tuner.h Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tunerchannel.c Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tunerchannel.h Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tunernorm.c Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tunernorm.h Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
v4l2_calls.c v4l2: make gst_v4l2_fill_lists() adapt to kernel 3.3+ 2012-08-21 23:09:33 +01:00
v4l2_calls.h v4l2: Move configuration of framerate to _set_format 2011-07-13 11:19:28 +02:00

v4l2 plugins
============

The idea is a bit the same as the idea for the v4l1 plugins. We want
one generic v4l2element, and a few child objects (probably only two:
v4l2src and v4l2sink):

                /-------- v4l2src
v4l2element ---=
                \-------- v4l2sink

Both v4l2src and v4l2sink have a uncompressed and a compressed
recording-/playback-mode. Since this is all part of v4l2, the 'client'
of these elements, i.e. an application using v4l2src/v4l2sink, will
hardly notice this. All capsnego stuff is done inside, and the plugin
knows which formats are compressed and which are not.

Please note that the v4l1 and the v4l2 plugins are *not* compatible
concerning properties. Naming has been kept the same where possible,
but in some cases, properties had to be removed or added to make
full use of v4l2.

V4L2 API: http://linux.bytesex.org/v4l2/.
          http://v4l2spec.bytesex.org/
          /usr/include/linux/videodev2.h or

Kernel patches available from
          http://dl.bytesex.org/patches/.

Articles:
          http://lwn.net/Articles/203924/