[libcamera-devel,0/5] Support qv4l2 with v4l2-compat
mbox series

Message ID 20200603141609.18584-1-paul.elder@ideasonboard.com
Headers show
Series
  • Support qv4l2 with v4l2-compat
Related show

Message

Paul Elder June 3, 2020, 2:16 p.m. UTC
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(-)