[v2,0/3] libcamera: ipc: ControlLists without valid idmap break IPC
mbox series

Message ID 20251126-cam-control-override-v2-0-305024a1f190@ideasonboard.com
Headers show
Series
  • libcamera: ipc: ControlLists without valid idmap break IPC
Related show

Message

Jacopo Mondi Nov. 26, 2025, 9:38 a.m. UTC
https://gitlab.freedesktop.org/camera/libcamera/-/issues/295

After the first attempt for a simple fix, this attempt doesn't actually
superseded the first version but rather provides a different approach
that changes the libcamera API to make the situation highlighted in the
issue impossible to happen.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
Changes in v2:
- Properly change the access to Request::controls() to const &
- Add patch to make metadata read-only
- Yes, this breaks the API/ABI very much

---
Jacopo Mondi (3):
      libcamera: request: Create control list with Camera info map
      libcamera: request: Move metadata_ to Private
      libcamera: request: Remove write-access to controls_

 include/libcamera/internal/request.h               |  4 +
 include/libcamera/request.h                        | 30 +++++++-
 src/android/camera_device.cpp                      |  8 +-
 src/apps/cam/camera_session.cpp                    |  2 +-
 src/gstreamer/gstlibcamera-controls.cpp.in         |  2 +-
 src/libcamera/camera.cpp                           |  2 +-
 src/libcamera/pipeline/imx8-isi/imx8-isi.cpp       |  3 +-
 src/libcamera/pipeline/ipu3/ipu3.cpp               | 16 ++--
 src/libcamera/pipeline/mali-c55/mali-c55.cpp       |  2 +-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp           | 10 +--
 .../pipeline/rpi/common/pipeline_base.cpp          | 13 ++--
 src/libcamera/pipeline/rpi/common/pipeline_base.h  |  2 +-
 src/libcamera/pipeline/simple/simple.cpp           |  8 +-
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp       |  6 +-
 src/libcamera/pipeline/vimc/vimc.cpp               |  6 +-
 src/libcamera/pipeline/virtual/virtual.cpp         |  4 +-
 src/libcamera/request.cpp                          | 85 ++++++++++++++--------
 src/py/libcamera/py_main.cpp                       |  2 +-
 src/v4l2/v4l2_camera.cpp                           |  2 +-
 19 files changed, 131 insertions(+), 76 deletions(-)
---
base-commit: 4e720d5baeae889af7da74cda9ad85f8098b1284
change-id: 20251124-cam-control-override-510637bc2b10

Best regards,