gstreamer/sys/v4l2
Philipp Zabel 0948ce0478 v4l2allocator: support orphaning
Recent kernels allow REQBUFS(0) on a queue that still has buffers in
use (mmapped or exported via dmabuf), orphaning all buffers on the queue.

Orphaning the allocator causes it to release all buffers with
REQBUFS(0), even if they are still in use. An orphaned allocator can
only be stopped. It can not be restarted or create new buffers.
2019-04-05 16:01:55 +00:00
..
ext v4l2: update kernel headers to latest from media tree 2019-04-05 16:01:55 +00:00
gstv4l2.c v4l2: mark caps from probe as MAY_BE_LEAKED 2019-01-17 15:05:45 +00:00
gstv4l2allocator.c v4l2allocator: support orphaning 2019-04-05 16:01:55 +00:00
gstv4l2allocator.h v4l2allocator: support orphaning 2019-04-05 16:01:55 +00:00
gstv4l2bufferpool.c v4l2bufferpool: fix typo resurect to resurrect 2018-10-24 12:03:13 +01:00
gstv4l2bufferpool.h v4l2bufferpool: Don't stop streaming when pool is flushing 2017-09-19 17:33:35 -04:00
gstv4l2colorbalance.c Update Edgard Lima's email 2017-02-27 00:34:19 +00:00
gstv4l2colorbalance.h v4l2: Merge v4l2_calls.h into gstv4l2object.h 2017-07-17 20:48:28 -04:00
gstv4l2deviceprovider.c v4l2deviceprovider: Don't do slow probes 2017-12-22 10:30:49 -05:00
gstv4l2deviceprovider.h pulse, v4l2: add missing G_END_DECLS in some places 2014-10-28 21:32:06 +00:00
gstv4l2fwhtenc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2fwhtenc.h v4l2: Add FWHT codec support 2018-09-13 20:48:09 -04:00
gstv4l2h263enc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2h263enc.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2h264enc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2h264enc.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2h265enc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2h265enc.h v4l2videoenc: Add HEVC support 2018-10-24 12:01:59 +01:00
gstv4l2jpegenc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2jpegenc.h v4l2: Add JPEG encoding support 2018-09-13 20:48:09 -04:00
gstv4l2mpeg4enc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2mpeg4enc.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2object.c v4l2: accept Bayer as possible input/output for V4L2 codecs 2019-02-26 13:59:46 +00:00
gstv4l2object.h v4l2: Properly fix Android build 2018-11-21 18:58:38 -05:00
gstv4l2radio.c v4l2object: Use a debug object for tracing 2017-12-13 14:42:25 -05:00
gstv4l2radio.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2sink.c v4l2sink: fix pool-less allocation query handling 2019-03-08 22:01:14 +01:00
gstv4l2sink.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2src.c v4l2src: preserve features when fixating caps 2019-04-05 13:22:58 +00:00
gstv4l2src.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2transform.c v4l2transform: don't segfault if flushed without pools 2019-03-17 13:17:21 +00:00
gstv4l2transform.h v4l2transform: Add "disable-passthrough" property 2018-08-31 15:43:53 -04:00
gstv4l2tuner.c v4l2: Merge v4l2_calls.h into gstv4l2object.h 2017-07-17 20:48:28 -04:00
gstv4l2tuner.h Update Edgard Lima's email 2017-02-27 00:34:19 +00:00
gstv4l2videodec.c v4l2: Set Hardware classifier on video decoders 2019-03-18 10:51:07 +00:00
gstv4l2videodec.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2videoenc.c v4l2videoenc: set GstVideoCodecFrame sync point flag 2019-03-21 18:05:51 +00:00
gstv4l2videoenc.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2vidorient.c v4l2: Merge v4l2_calls.h into gstv4l2object.h 2017-07-17 20:48:28 -04:00
gstv4l2vidorient.h Update Edgard Lima's email 2017-02-27 00:34:19 +00:00
gstv4l2vp8enc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2vp8enc.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
gstv4l2vp9enc.c v4l2: Set Hardware classifier on encoders 2019-03-18 10:51:15 +00:00
gstv4l2vp9enc.h v4l2: Remove spurious CATEGORY_EXTERN 2017-08-02 12:28:38 -04:00
Makefile.am v4l2videoenc: Add HEVC support 2018-10-24 12:01:59 +01:00
meson.build v4l2videoenc: Add HEVC support 2018-10-24 12:01:59 +01:00
README Fix level for multi-channel case. 2007-02-22 14:35:28 +00:00
tuner.c v4l2: Use G_DEFINE_ macros for added thread safety 2013-08-19 12:48:35 -04:00
tuner.h v4l2: remove unused enumtypes and use generic marshaller 2013-08-04 11:03:49 +01:00
tunerchannel.c v4l2: Use G_DEFINE_ macros for added thread safety 2013-08-19 12:48:35 -04:00
tunerchannel.h Fix FSF address 2012-11-04 00:07:18 +00:00
tunernorm.c v4l2: Use G_DEFINE_ macros for added thread safety 2013-08-19 12:48:35 -04:00
tunernorm.h Fix FSF address 2012-11-04 00:07:18 +00:00
v4l2-utils.c v4l2: consistently check #ifdef HAVE_GUDEV instead of #if 2016-08-18 20:20:20 +01:00
v4l2-utils.h v4l2: Add a macro to check for M2M 2018-07-13 22:58:57 -04:00
v4l2_calls.c v4l2: fix a typo on a debug message at v4l2_calls 2019-02-26 13:59:46 +00: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/