[libcamera-devel] [PATCH 0/5] Support qv4l2 with v4l2-compat

Paul Elder paul.elder at ideasonboard.com
Wed Jun 3 16:16:04 CEST 2020


This patch series enables support for qv4l2 with the V4L2 compatibility
layer. It is a series of bugfixes first, and then the actual
implementation of the socket mechanism to allow for polling.

I've also noticed that if the stream is stopped and restarted (after
choosing YUYV, otherwise it'll floating point exception with MJPG) in
qv4l2 without restarting qv4l2, it segfaults after the first round of
buffers. I'll deal with this, but for now, we have this patch series.

Paul Elder (5):
  IPAManager: make IPAManager lifetime explicitly managed
  v4l2: v4l2_camera_proxy: Fix bounds check for VIDIOC_ENUM_FMT
  v4l2: v4l2_camera_proxy: Acquire only one buffer semaphore on
    VIDIOC_DQBUF
  v4l2: v4l2_camera_proxy: Don't return -EINVAL for zero sizeimage in
    REQBUFS
  v4l2: v4l2_compat: Add sockets to support polling

 include/libcamera/camera_manager.h       |  4 ++++
 include/libcamera/internal/ipa_manager.h |  7 +++---
 src/libcamera/camera_manager.cpp         |  4 +++-
 src/libcamera/ipa_manager.cpp            | 13 ++++++++--
 src/v4l2/v4l2_camera.cpp                 | 13 ++++++++++
 src/v4l2/v4l2_camera.h                   |  3 +++
 src/v4l2/v4l2_camera_proxy.cpp           | 30 +++++++++++++++++++++---
 src/v4l2/v4l2_camera_proxy.h             |  4 ++++
 src/v4l2/v4l2_compat_manager.cpp         | 22 ++++++++++++-----
 test/ipa/ipa_interface_test.cpp          |  5 ++++
 10 files changed, 90 insertions(+), 15 deletions(-)

-- 
2.20.1



More information about the libcamera-devel mailing list