gstreamer/subprojects/gst-plugins-good/sys/v4l2
Nicolas Dufresne e2b2ff26c9 v4l2transform: Handle caps changes
As this element is single threaded, we only need to stop the objects to
allow changing the format again. Fixes assertion notably on shutdown and
on some other situation where the format may be set twice without
actually activating the element.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
2022-02-20 22:32:55 +00:00
..
ext v4l2: include <sys/ioccom.h> on Illumos 2022-02-18 21:34:49 +00:00
gstv4l2.c
gstv4l2allocator.c
gstv4l2allocator.h
gstv4l2bufferpool.c Port plugins to gst_video_format_info_extrapolate_stride() 2022-02-20 22:32:55 +00:00
gstv4l2bufferpool.h v4l2: Record buffer states in pool to fix dequeue race 2021-11-11 22:30:31 +00:00
gstv4l2codec.c
gstv4l2codec.h
gstv4l2colorbalance.c
gstv4l2colorbalance.h
gstv4l2deviceprovider.c
gstv4l2deviceprovider.h
gstv4l2element.c
gstv4l2elements.h
gstv4l2fwhtenc.c
gstv4l2fwhtenc.h
gstv4l2h263enc.c
gstv4l2h263enc.h
gstv4l2h264codec.c
gstv4l2h264codec.h
gstv4l2h264enc.c
gstv4l2h264enc.h
gstv4l2h265codec.c
gstv4l2h265codec.h
gstv4l2h265enc.c
gstv4l2h265enc.h
gstv4l2jpegenc.c
gstv4l2jpegenc.h
gstv4l2mpeg2codec.c
gstv4l2mpeg2codec.h
gstv4l2mpeg4codec.c
gstv4l2mpeg4codec.h
gstv4l2mpeg4enc.c
gstv4l2mpeg4enc.h
gstv4l2object.c v4l2object: Avoid crash on early failure 2022-02-20 22:32:55 +00:00
gstv4l2object.h Port plugins to gst_video_format_info_extrapolate_stride() 2022-02-20 22:32:55 +00:00
gstv4l2radio.c
gstv4l2radio.h
gstv4l2sink.c
gstv4l2sink.h
gstv4l2src.c
gstv4l2src.h
gstv4l2transform.c v4l2transform: Handle caps changes 2022-02-20 22:32:55 +00:00
gstv4l2transform.h
gstv4l2tuner.c gstv4l2tuner: return NULL if no norm set 2022-02-20 21:38:40 +00:00
gstv4l2tuner.h
gstv4l2videodec.c v4l2videdec: Fix race condition between drain and state changes 2022-01-21 16:36:50 +00:00
gstv4l2videodec.h
gstv4l2videoenc.c
gstv4l2videoenc.h
gstv4l2vidorient.c
gstv4l2vidorient.h
gstv4l2vp8codec.c
gstv4l2vp8codec.h
gstv4l2vp8enc.c
gstv4l2vp8enc.h
gstv4l2vp9codec.c
gstv4l2vp9codec.h
gstv4l2vp9enc.c
gstv4l2vp9enc.h
meson.build
README
tuner.c
tuner.h
tunerchannel.c
tunerchannel.h Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir 2021-09-24 16:13:50 -03:00
tunernorm.c
tunernorm.h Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir 2021-09-24 16:13:50 -03:00
v4l2-utils.c
v4l2-utils.h
v4l2_calls.c

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/