[libcamera-devel,RFC,00/11] libcamera: V4L2 Streams
mbox series

Message ID 20190203110102.5663-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • libcamera: V4L2 Streams
Related show

Message

Kieran Bingham Feb. 3, 2019, 11 a.m. UTC
This extensive set of patches is still in development and so is marked RFC.

The recent removal of the ability to mmap buffers with an externally provided
FD (from the V4L2 device) has now broken my tests so these tests all fail at
mmap(). Please don't be 'too' alarmed at that if you run the tests.

This series implements first fixes up the V4L2 test base class to use the
device enumerator to identify a UVCVideo device for testing with.

Then support for creating a buffer pool and requesting, and queueing buffers
is sketched out.

Asynchronous support for the buffer notification is finally added with a signal
to allow Pipeline objects (or the owner of the V4L2Device) to be able to receive
completed buffers.


Kieran Bingham (10):
  test: v4l2_device: Use DeviceEnumerator to find a UVCVideo
  libcamera: buffer: Support v4l2_buffer construction
  libcamera: v4l2_device: Request buffers from the device
  libcamera: v4l2_device: Support exporting buffers
  test: v4l2_device: Add request_buffers test
  libcamera: v4l2_device: Implement stream{On,Off}
  test: v4l2_device: Add StreamOn/StreamOff test
  test: v4l2_device: Add a functional capture test
  libcamera: v4l2_device: Add event driven buffer passing
  test: v4l2_device: Provide asynchronous capture test

Niklas Söderlund (1):
  libcamera: v4l2device: update Buffer with information from v4l2_buffer
    when dequeueing

 include/libcamera/buffer.h            |  18 +-
 src/libcamera/buffer.cpp              |  27 ++
 src/libcamera/include/v4l2_device.h   |  35 +++
 src/libcamera/v4l2_device.cpp         | 381 +++++++++++++++++++++++++-
 test/v4l2_device/capture_async.cpp    |  69 +++++
 test/v4l2_device/capture_frames.cpp   |  51 ++++
 test/v4l2_device/meson.build          |   4 +
 test/v4l2_device/request_buffers.cpp  |  28 ++
 test/v4l2_device/stream_on_off.cpp    |  29 ++
 test/v4l2_device/v4l2_device_test.cpp |  28 +-
 test/v4l2_device/v4l2_device_test.h   |   7 +
 11 files changed, 667 insertions(+), 10 deletions(-)
 create mode 100644 test/v4l2_device/capture_async.cpp
 create mode 100644 test/v4l2_device/capture_frames.cpp
 create mode 100644 test/v4l2_device/request_buffers.cpp
 create mode 100644 test/v4l2_device/stream_on_off.cpp