[PATCH v2 0/3] gstreamer: Generate controls from control_ids_*.yaml files

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Sep 27 00:04:06 CEST 2024


Hi Jaslo,

I think this series is close to being ready, and I would be very happy
to merge this much awaited feature. Do you plan to send a v3 ?

On Tue, Aug 13, 2024 at 02:25:04PM +0200, Jaslo Ziska wrote:
> Hi everyone,
> 
> this is the second version of the patch set to implement gstreamer controls
> from the yaml files.
> This now depends on "[PATCH 00/10] libcamera: Improve code generation for
> controls" for the code generation.
> 
> The following things changed:
> 
> The (old) third commit fixing a typo has been removed as it is already merged.
> 
> The first commit is new: it removes the auto-focus-mode property from the
> device provider where it has been added on accident.
> 
> The commit message has been updated in the second commit.
> 
> The third commit, which adds the code that generates the gstreamer controls,
> now makes use of jinja2 and the new controls.py file. As a consequence the
> whole code generation has been redone.
> 
> There are also some new features:
> 
> It is now possible to read the metadata returned by requests from the gstreamer
> properties. This is done using a new function readMetadata() which reads the
> ControlList in requestCompleted().
> 
> Before a control is set it is now checked whether this control is actually
> supported by the camera. This is done by checking the cameras ControlInfoMap.
> 
> The Rectangle type is now supported.
> 
> Some checks were added to make sure the arrays passed to the element have the
> correct length.
> 
> Best regards,
> 
> Jaslo
> 
> Jaslo Ziska (3):
>   gstreamer: Remove auto-focus-mode property from device provider
>   gstreamer: Remove auto-focus-mode property from libcamerasrc
>   gstreamer: Generate controls from control_ids_*.yaml files
> 
>  src/gstreamer/gstlibcamera-controls.cpp.in | 296 +++++++++++++++++++++
>  src/gstreamer/gstlibcamera-controls.h      |  43 +++
>  src/gstreamer/gstlibcameraprovider.cpp     |  15 --
>  src/gstreamer/gstlibcamerasrc.cpp          |  50 ++--
>  src/gstreamer/meson.build                  |  10 +
>  utils/codegen/controls.py                  |   8 +
>  utils/codegen/gen-gst-controls.py          | 151 +++++++++++
>  utils/codegen/meson.build                  |   1 +
>  8 files changed, 528 insertions(+), 46 deletions(-)
>  create mode 100644 src/gstreamer/gstlibcamera-controls.cpp.in
>  create mode 100644 src/gstreamer/gstlibcamera-controls.h
>  create mode 100755 utils/codegen/gen-gst-controls.py

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list