gstreamer/subprojects
Jakub Vaněk f4852a2d8b v4l2src: Interpret V4L2 report of sync loss as video signal loss
Certain V4L2 drivers can report that a video receiver is seeing
some signal, but that it is unable to synchronize to it. IOW: the driver
can sometimes report V4L2_IN_ST_NO_SYNC and not report V4L2_IN_ST_NO_SIGNAL.

In particular, I've seen the tc358743 (HDMI-to-CSI2 converter) driver
sometimes report this when deployed to a fleet of embedded Raspberry Pis.
The relevant kernel code is in [1]. The video output is not practically
usable when V4L2_IN_ST_NO_SYNC is reported (only visually corrupted frames,
sometimes with random "snow", are received). I assume that this happens when
either the HDMI cable is poorly plugged in or damaged or when a CSI2 FFC
cable is used and is damaged.

The change in this commit is useful for detecting this working-but-not-really
condition in application code. Applications already listening for the "Signal lost"
message will gain the ability to handle this condition.

There seem to be more V4L2 error flags like this, see [2]. However, I do not
have practical experience with them and adding only V4L2_IN_ST_NO_SYNC seems
like a safer option.

[1]: https://github.com/raspberrypi/linux/blob/be8498ee21aa/drivers/media/i2c/tc358743.c#L1534
[2]: https://www.kernel.org/doc/html/v6.6/userspace-api/media/v4l/vidioc-enuminput.html

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7027>
2024-06-13 09:30:51 +00:00
..
gst-devtools Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-docs Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-editing-services Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-examples Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-integration-testsuites Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-libav Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-plugins-bad uvcgadget: Use g_path_get_basename instead of libc basename 2024-06-13 01:18:29 +01:00
gst-plugins-base uridecodebin3: Don't hold PLAY_ITEMS lock when activating them 2024-06-11 19:19:38 +01:00
gst-plugins-good v4l2src: Interpret V4L2 report of sync loss as video signal loss 2024-06-13 09:30:51 +00:00
gst-plugins-ugly Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-python Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gst-rtsp-server Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gstreamer gstpromise: Don't use g_return_* for internal checks 2024-06-06 09:07:54 +00:00
gstreamer-sharp Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gstreamer-vaapi Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
macos-bison-binary
packagefiles subprojects: directxmath: Update to 3.1.9 2024-04-02 12:55:24 +00:00
win-flex-bison-binaries
win-nasm
win-pkgconfig
avtp.wrap
cairo.wrap cairo: update wrap to 1.18.0 2023-12-13 11:51:53 +00:00
dav1d.wrap
DirectX-Headers.wrap subprojects: Add DirectX-Headers wrap 2023-12-14 18:08:00 +09:00
directxmath.wrap subprojects: directxmath: Update to 3.1.9 2024-04-02 12:55:24 +00:00
dssim.wrap
dv.wrap
expat.wrap
fdk-aac.wrap
FFmpeg.wrap ffmpeg: Update subproject to 6.1 2024-02-23 13:24:22 +00:00
flac.wrap flac: Add wrap file and add fallback for it to the flac plugin 2024-04-07 13:57:40 +00:00
fontconfig.wrap
freetype2.wrap
fribidi.wrap
gl-headers.wrap
glib-networking.wrap
glib.wrap subprojects: update glib wrap to 2.78.3 2023-12-21 19:22:25 +02:00
gobject-introspection.wrap
graphene.wrap
gst-plugins-rs.wrap Back to development after 1.24.4 2024-05-29 13:51:27 +03:00
gtk-sharp.wrap csharp: update gtk-sharp subproject 2023-12-07 17:34:30 +01:00
gtk.wrap
harfbuzz.wrap
json-glib.wrap
lame.wrap
libdrm.wrap
libffi.wrap
libgudev.wrap meson: Update libgudev wrap to 238 2023-12-06 20:17:56 +00:00
libjpeg-turbo.wrap
liblc3.wrap
libmicrodns.wrap
libnice.wrap libnice: bump subproject wrap to v0.1.22 2024-03-22 21:37:41 +00:00
libopenjp2.wrap
libpng.wrap
libpsl.wrap
libsoup.wrap soup: Link to libsoup in all cases on non-Linux 2024-02-21 09:27:59 +05:30
libsrtp2.wrap
libva.wrap
libwpe.wrap
libxml2.wrap
ntv2.wrap ntv2: Use a patch overlay instead of diff 2023-12-20 18:18:43 +00:00
ogg.wrap
openh264.wrap
opus.wrap
orc.wrap orc: bump wrap to 0.4.38 2024-03-05 20:18:56 +00:00
pango.wrap pango: update wrap to 1.51.0 2023-12-13 11:51:53 +00:00
pcre2.wrap
pixman.wrap
proxy-libintl.wrap
pycairo.wrap
pygobject.wrap
sqlite3.wrap
vorbis.wrap
vpx.wrap
wayland-protocols.wrap gstwayland: Support wp_single_pixel_buffer_v1 2024-01-22 16:51:36 -05:00
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap subprojects: update x264 wrap to latest stable 164.3108 2024-02-02 14:46:06 +00:00
zlib.wrap