[libcamera-devel,v3,0/3] MediaDevice class and MediaObject classes
mbox series

Message ID 20181230142314.16263-1-jacopo@jmondi.org
Headers show
Series
  • MediaDevice class and MediaObject classes
Related show

Message

Jacopo Mondi Dec. 30, 2018, 2:23 p.m. UTC
Hello
   this is 3rd version of MediaDevice and associated MediaObject classes.

v1 available for reference here:
https://lists.libcamera.org/pipermail/libcamera-devel/2018-December/000120.html
v2 available for reference here:
https://lists.libcamera.org/pipermail/libcamera-devel/2018-December/000181.html

This iteration addresses comments received from Laurent on v2.

Notable changes:
- Use references to class instances and not global ids to reference
  MediaObjects from other MediaObjects
- Remove devnode path from entities: they will be reworked anyhow when
  integrating with DeviceEnumerator
- Add public method to get a list of entities in the media device
- Remove functions to enable MediaLinks from the MediaDevice: it requires
  better discussions on which API to expose.
- Make the media graph printout functiona part of media device tests.
- Expand documentation for classes and public methods, polish doxygen and
  remove doxygen comments from private members.

Tested locally using the printout test on VIMC and integrated webcam media
devices.

Valgrind does not report memory leaks.

Thanks
   j

Jacopo Mondi (3):
  libcamera: Add MediaObject class hierarchy
  libcamera: Add MediaDevice class
  test: Add media device test

 src/libcamera/include/media_device.h    |  61 ++++
 src/libcamera/include/media_object.h    | 107 +++++++
 src/libcamera/media_device.cpp          | 370 ++++++++++++++++++++++++
 src/libcamera/media_object.cpp          | 281 ++++++++++++++++++
 src/libcamera/meson.build               |   4 +
 test/media_device/media_device_test.cpp | 175 +++++++++++
 test/media_device/meson.build           |   5 +
 test/meson.build                        |   4 +
 8 files changed, 1007 insertions(+)
 create mode 100644 src/libcamera/include/media_device.h
 create mode 100644 src/libcamera/include/media_object.h
 create mode 100644 src/libcamera/media_device.cpp
 create mode 100644 src/libcamera/media_object.cpp
 create mode 100644 test/media_device/media_device_test.cpp
 create mode 100644 test/media_device/meson.build

--
2.20.1