[libcamera-devel,0/8] libcamera: improve validation of camera operations
mbox series

Message ID 20190226021857.28255-1-niklas.soderlund@ragnatech.se
Headers show
Series
  • libcamera: improve validation of camera operations
Related show

Message

Niklas Söderlund Feb. 26, 2019, 2:18 a.m. UTC
Hi,

This series fix a few bugs in the camera as well as introduce a state 
machine to better keep track on what applications can do with a camera 
at any given point in its life cycle. As well as add a few new checks to 
catch problems early.

See individual patches for detailed descriptions. Some of these patches 
could be posted separately but as they all conflict with etch other I 
chose to keep them all together. If necessary or requested I might break 
some parts out or merge parts of this series as the review process 
progress and allows.

Niklas Söderlund (8):
  libcamera: camera: fix bug in error check for streamConfiguration()
  libcamera: align the documentation for numeric error codes
  libcamera: camera: document return values for application facing
    functions
  cam: fix order camera is operated on
  libcamera: camera: add state machine to control access from
    applications
  libcamera: store stream pointers in sets instead of a vectors
  libcamera: camera: ensure streams belong to camera
  libcamera: camera: make sure camera is configured before starting

 include/libcamera/camera.h               |  25 ++--
 src/cam/main.cpp                         |  28 ++--
 src/libcamera/buffer.cpp                 |   6 +-
 src/libcamera/camera.cpp                 | 159 +++++++++++++++--------
 src/libcamera/camera_manager.cpp         |   2 +-
 src/libcamera/device_enumerator.cpp      |   7 +-
 src/libcamera/include/pipeline_handler.h |   2 +-
 src/libcamera/media_device.cpp           |   8 +-
 src/libcamera/media_object.cpp           |   5 +-
 src/libcamera/pipeline/ipu3/ipu3.cpp     |   6 +-
 src/libcamera/pipeline/uvcvideo.cpp      |   6 +-
 src/libcamera/pipeline/vimc.cpp          |   6 +-
 src/libcamera/pipeline_handler.cpp       |  10 +-
 src/libcamera/request.cpp                |   2 +-
 src/libcamera/v4l2_device.cpp            |  16 +--
 src/libcamera/v4l2_subdevice.cpp         |  10 +-
 16 files changed, 179 insertions(+), 119 deletions(-)