gstreamer/sys/v4l2
Havoc Pennington 9b9f9d0a2a v4l2src: in negotiate, check for error return from set_caps
Fixes #621723  (partially)

set_caps can fail if the video device is running, in that case
setting its format leads to EBUSY.

If set_caps fails then we will not have set up the buffer pool
(it will be NULL) which leads to a crash when we try to pull
buffers. If we fail the negotiate on set_caps failure, then we
won't go to playing state and won't crash.

This is a small improvement. Of course, a nicer fix would
be to make set_caps work in the case where the format is
unchanged. If the format has changed, failing is
probably correct because we need to close the device
(go to NULL state) in order to set caps.
2010-06-16 17:48:47 +02:00
..
.gitignore add cvsignores 2003-09-11 19:17:02 +00:00
gstv4l2.c v4l2sink: change rank to NONE so it is never autoplugged 2010-02-13 20:59:42 +00:00
gstv4l2bufferpool.c v4l2: log more details in buffer pool finalize 2010-02-16 10:15:22 +02:00
gstv4l2bufferpool.h v4l2: move G_END_DECLS to the end 2010-01-18 14:57:42 +02:00
gstv4l2colorbalance.c sys/v4l2/Makefile.am: Fix makefile, list libs in stack order. 2006-09-26 13:18:06 +00:00
gstv4l2colorbalance.h Add -Wmissing-declarations -Wmissing-prototypes warning flags 2010-03-17 18:23:28 +01:00
gstv4l2object.c v4l2: Initialize variable 2010-06-15 19:47:16 +02:00
gstv4l2object.h Add -Wwrite-strings to the configure flags 2010-03-21 14:17:47 +01:00
gstv4l2sink.c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
gstv4l2sink.h docs: fix gtk-doc warnings 2009-09-10 10:26:23 +03:00
gstv4l2src.c v4l2src: in negotiate, check for error return from set_caps 2010-06-16 17:48:47 +02:00
gstv4l2src.h v4l2src: add a function pointer for get_frame function and optimize a bit 2009-09-11 22:24:47 +03:00
gstv4l2tuner.c Fix comparison of the tuner norms 2009-01-30 14:42:44 +01:00
gstv4l2tuner.h Add -Wmissing-declarations -Wmissing-prototypes warning flags 2010-03-17 18:23:28 +01:00
gstv4l2vidorient.c sys/v4l2/: Fix compilation with newer GIT kernels that deprecated 2008-06-09 08:42:49 +00:00
gstv4l2vidorient.h Add -Wmissing-declarations -Wmissing-prototypes warning flags 2010-03-17 18:23:28 +01:00
gstv4l2xoverlay.c sys/v4l2/gstv4l2xoverlay.*: Fix build as per the patch in #338818 comment 36. 2006-10-09 07:01:19 +00:00
gstv4l2xoverlay.h sys/v4l2/gstv4l2xoverlay.*: Fix build as per the patch in #338818 comment 36. 2006-10-09 07:01:19 +00:00
Makefile.am v4l2: fix make distcheck by disting some more headers 2009-08-11 03:08:01 +01:00
README Fix level for multi-channel case. 2007-02-22 14:35:28 +00:00
v4l2_calls.c v4l2: printf format string fix 2010-02-15 12:13:43 +00:00
v4l2_calls.h v4l2: Directly use GST_PTR_FORMAT for printing caps with the LOG_CAPS macro 2009-08-04 14:45:31 +02:00
v4l2src_calls.c Add -Wredundant-decls warning flag 2010-03-17 19:35:10 +01:00
v4l2src_calls.h v4l2: Add v4l2sink element 2009-08-04 09:16:56 +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/